【问题标题】:Preferred Log Level in Production生产中的首选日志级别
【发布时间】:2017-07-30 06:58:32
【问题描述】:

生产 Rails 应用程序中最喜欢的日志级别是什么?我刚刚在文档中读到日志记录对生产的影响很小。目前我的日志级别设置为info

【问题讨论】:

  • 实际上,您希望该值是动态的。有几种方法可以做到这一点。这是我之前写的一篇博客 - link.medium.com/5wo7w6E2e6

标签: ruby-on-rails ruby ruby-on-rails-3 logging


【解决方案1】:

这并不重要。如果您将日志存储在服务器上的文本文件中,您可能不希望将其设置为 info,但如果您将所有日志通过管道传输到 Papertrail 之类的服务,则无关紧要。

也就是说,您可能不会发现 info 中的信息在生产环境中特别有用,因为您不会在实时环境中进行调试。

【讨论】:

  • 我是我们的应用程序,我们明确记录每个请求和响应。也像这样 Rails.logger.info "BackgroundJobConsumer::NoServiceFound payload: #{payload.inspect}" 是否存在重大性能问题跨度>
  • 它不应该有严重的性能问题。如果您的日志运行规模会导致明显的性能问题,那么您可能应该聘请负责处理日志的人!
【解决方案2】:

根据 Rails 文档,可用的日志级别有::debug、:info、:warn、:error、:fatal 和:unknown。 对应于这些日志级别,我们可以分别使用从 0 到 5 的数字。

要设置日志级别,请使用

config.log_level = :warn  #use on production for a stable release

Rails.logger.level = 0   # for debug

一般来说,生产环境中的日志文件可以在调试级别使用,但是一旦你发布或获得稳定版本,由于我们不希望我们的日志文件淹没我们的空间,我们应该将其移动到 :warn 或 :error 日志级别

config.log_level = :error  #use on production for a stable release

更多信息可以查看documentation here

希望这会有所帮助...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-22
    • 2020-01-12
    • 2020-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-17
    相关资源
    最近更新 更多