我想要做的是输出没有错误的日志文件所有基本上会导致404的请求?或者只是单独记录这些请求?
答案 0 :(得分:1)
你最好挂钩config.exceptions_app
中间件钩子:
设置ShowException调用的异常应用程序 异常发生时的中间件。默认为 ActionDispatch :: PublicExceptions.new(Rails.public_path)。
-
<强> exceptions_app 强>
拥有written a gem about this,并且有一些非常nice demonstrations如何有效使用它,我建议做这样的事情:
#config/application.rb
config.exceptions_app = ->(env) { ApplicationController.action(:exception).call(env) }
#app/controllers/application_controller.rb
Class ApplicationController < ActionController::Base
def exception
# your code here
end
end
我不确定你是如何使它成为条件的(IE只捕获&#34;未找到&#34;异常),但上述内容肯定是一个起点!
答案 1 :(得分:1)
如果您所追踪的404是由于缺失引起的,我建议您使用rescue_from
,应用程序控制器中的代码将如下所示:
rescue_from ActiveRecord::RecordNotFound, with: :not_found
def not_found
# log anything in the request
end