我在生产日志中看到了这一点:
INFO -- : Started GET "/404" for 178.167.132.245 at 2014-04-18 17:43:55 +0000
INFO -- : Processing by ErrorsController#not_found as */*
INFO -- : Rendered errors/not_found.html within layouts/application (0.1ms)
INFO -- : Completed 404 Not Found in 1ms (Views: 0.9ms | ActiveRecord: 0.0ms)
我看到他们很多。我想知道什么URL导致了404,这意味着,找不到的初始URL是什么,导致页面被重新路由到404页面。这可能吗?
答案 0 :(得分:0)
最简单的方法是将一些日志记录工具添加到ErrorsController#not_found,它会记录request.fullpath,如下所示:
class Errors Controller < ApplicationController
def not_found
logger.info "Not Found: '#{request.fullpath}'.\n#{exception.class} error was raised for path .\n#{exception.message}"
render status: 404
end
end
这将在您的日志中为您提供路径和触发异常(即,ActiveRecord::RecordNotFound
,或者可能是ActionController::RoutingError
)。
this gist中也有一些非常好的讨论。