在资源的日志中隐藏ActionController :: RoutingError

rma*_*002 3 ruby ruby-on-rails ruby-on-rails-4

我正在开发一个具有WP主页的rails应用程序,还有一些正在从WP加载的图像.在localhost上,我们无权访问导致日志中存在大量路由错误的WP内容,例如:

Started GET "/wp-content/uploads/2014/03/facebook-icon1.png" for 127.0.0.1 at 2015-11-20 15:10:48 +0200

ActionController::RoutingError (No route matches [GET] "/wp-content/uploads/2014/03/facebook-icon1.png"):
  actionpack (4.2.5) lib/action_dispatch/middleware/debug_exceptions.rb:21:in `call'
  actionpack (4.2.5) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
Run Code Online (Sandbox Code Playgroud)

考虑到页面上有5个图像,我们最终会为每个请求产生5个路由错误.如何在开发环境中的日志中隐藏这些类型的错误?

Jos*_*hua 13

有这个确切的问题.在initializers文件夹中创建logger.rb文件并添加以下代码:

# spammers were blowing up our logs
# this suppresses routing errors
if Rails.env.production?
    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
end
Run Code Online (Sandbox Code Playgroud)