8

ActionController::RoutingErrorエラーのロギングを無効にする方法は?
私の運用ログ ファイルは、phpMyAdmin やその他のものを検索するボットでいっぱいです。
その場合、実際のアプリケーション エラーは見過ごされます。
助けてください。Rails 3.2 と Passenger を実行しています。

私の routes.rb では、他のすべての URL を にマップしget ":code" => "shared#code"、見つからない場合はメッセージ付きのページを表示します。しかし、ボットが のような URL を検索するとhttp://mywebsite.com/phpMyAdmin/index.php、「探していたページは存在しません」という従来のエラー ページが表示されます。どちらでも構いません。しかし、これらのエラーをログファイルに記録したくありません。

4

1 に答える 1

19

エラーをログに記録/表示するのはActionDispatch::DebugExceptionsミドルウェアです。メソッドを上書きすることもできます。log_errorたとえば、これを初期化子に貼り付けます。

class ActionDispatch::DebugExceptions
  alias_method :old_log_error, :log_error
  def log_error(env, wrapper)
    if wrapper.exception.is_a?  ActionController::RoutingError
      return
    else
      old_log_error env, wrapper
    end
  end
end
于 2012-09-01T12:40:08.713 に答える