我通常不喜欢在不了解正在发生的事情的情况下直接询问如何做某事,但我对 Rails 还很陌生,我很难做到这一点。
基本上,我需要在单个日志语句中为每个请求捕获以下信息(如果可能的话)
自定义日志格式的首选方式是什么?是否可以只修改现有日志并将此信息传递给它?或者我是否需要扩展和覆盖我需要的行为?
我不需要将其保存到不同的日志文件或任何其他文件中,只需在每次请求时输出到 STDOUT。
如有任何帮助,我们将不胜感激。
谢谢!
最佳答案
我知道这是一个老问题,但对于 future 偶然发现这个问题的人来说,我相信 Rails 3.2+ 中的首选方法是使用 ActiveSupport::TaggedLogging。介绍这个的博文是here
还有一个快速示例,它向每个日志消息添加子域、每个请求的 UUID 和用户代理。您可以将其弹出到您的环境初始化文件中。
config.log_tags = [ :subdomain, :uuid, lambda { |request| request.user_agent } ]
关于ruby-on-rails - 如何将特定请求详细信息记录到 Rails 服务器日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11267540/