라인은 미니어처 Rails::Rack::Logger
에서 오는 것으로, 이는 난간입니다. 간단한, 당신은 단지 초기화에서, 예를 들어, 로깅을 수행하는 방법을 재정의 할 수 있습니다 : 당신이 오히려 로거를 오버라이드 (override)하지 않는 게 좋을 경우
class Rails::Rack::Logger < ActiveSupport::LogSubscriber
protected
def before_dispatch(env)
request = ActionDispatch::Request.new(env)
info "\n\nStarted #{request.request_method} \"#{request.url}\" for #{request.ip} at #{Time.now.to_default_s}"
end
end
, 당신은 항상 당신이 이미 만든 이는 자신을 추가 할 수 있습니다 당신은 당신이 ActionDispatch::Request
의 그것의 사용을 위해 랙 로거를 확인 할 수이 경로를 이동하는 경우
config.middleware.insert_before(Rails::Rack::Logger, YourLogger)
config.middleware.delete(Rails::Rack::Logger)
, 그리고 로그 가입자 캐시를 플러시의 수행 다른 일을해야합니다 : 다음을 통해 스택에서 Rails::Rack::Logger
삭제 파견 후, ActiveSupport::LogSubscriber.flush_all!
유일한 단점 나는이에 참조 솔루션은 사용자 정의 로그 라인이 주 로그 라인 옆에 있지 않으며 이미지, 자바 스크립트 등을 기록하지 않는다는 것입니다. 후자가 나중에 더 복잡한 프로젝트에서 문제가 될지 확실하지 않습니다. – Pablo