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