Lie*_*oen 37 logging ruby-on-rails ruby-on-rails-3
我正在使用以下代码来配置我的Ruby on Rails应用程序中的日志记录:
environment.rb中:
Rails.logger = Logger.new(STDOUT)
class Logger
def format_message(severity, timestamp, progname, msg)
"#{timestamp.to_formatted_s(:db)} #{severity} #{msg}\n"
end
end
Run Code Online (Sandbox Code Playgroud)
我正在尝试将日志记录级别设置为现在使用警告
config.log_level = :warn
Run Code Online (Sandbox Code Playgroud)
在我的production.rb中,但似乎没有用.我在这里错过了什么吗?
如果我在我的environment.rb中放置Rails.logger.level = 4,它似乎确实有效.但我想在我的环境初始化器中配置一些东西.
Bra*_*rth 75
根据官方文档,您应该使用:
config.log_level = :warn # In any environment initializer, or
Rails.logger.level = 0 # at any time
Run Code Online (Sandbox Code Playgroud)
如果这些都不适合您,请尝试:
config.log_level = Logger::WARN
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请尝试:
config.logger.level = Logger::WARN
Run Code Online (Sandbox Code Playgroud)
注意:最终方法似乎是将两种官方策略混为一谈,但在某些情况下有效
Bes*_*esi 26
对于Rails 4.0,您可以在production.rb(或您想要的环境)中设置值,如下所示:
# Set to :debug to see everything in the log.
config.log_level = :warn
Run Code Online (Sandbox Code Playgroud)
更新 文档说明如下:
2.2日志级别
记录某些内容时,如果消息的日志级别等于或高于配置的日志级别,则会将其打印到相应的日志中.如果您想知道当前的日志级别,可以调用该
Rails.logger.level方法.可用的日志级别为:
:debug,:info,:warn,:error,:fatal,和:unknown,对应于从0日志级别数最多5分别.要更改默认日志级别,请使用Run Code Online (Sandbox Code Playgroud)config.log_level = :warn # In any environment initializer, or Rails.logger.level = 0 # at any time当您想要在开发或登台下登录时,这非常有用,但您不希望使用不必要的信息填充生产日志.
默认的Rails日志级别
info处于生产模式,并在开发和测试模式下进行调试.
| 归档时间: |
|
| 查看次数: |
54544 次 |
| 最近记录: |