Eas*_*Liu 1 logging ruby-on-rails rake-task
我的rails4应用程序正在使用docker运行.它运行rake任务以从AWS SQS获取消息.
我遇到的问题是日志无法及时显示在控制台中.在发生异常/错误之前,控制台不会显示任何内容.换句话说,如果我的应用程序工作正常,则没有日志进入控制台.但是如果应用程序出错了,所有日志(信息,警告和错误)都汇集在一起!
我已经将config/production.rb配置为打击:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger.const_get('INFO')
config.log_level = :info
Run Code Online (Sandbox Code Playgroud)
我google'rake任务日志无法正常工作',但没什么用处.这是rails日志问题还是rake任务日志问题,或者是docker问题?
希望得到一些建议!
尝试禁用输出缓冲到STDOUT.您可以通过将此行添加到您的rake任务来执行此操作:
$stdout.sync = true
Run Code Online (Sandbox Code Playgroud)
小智 0
对于 Rails 4.x,日志级别是配置
# Enable stdout logger
config.logger = Logger.new(STDOUT)
# Set log level
config.log_level = :ERROR
Run Code Online (Sandbox Code Playgroud)
记录器级别在 config.log_level 的记录器实例上设置:( https://github.com/rails/rails/blob/v4.2.4/railties/lib/rails/application/bootstrap.rb#L70 )