使用Docker运行rake任务在Rails4中记录问题

时间:2016-04-05 05:33:50

标签: ruby-on-rails logging rake-task

我的rails4应用程序正在使用docker运行。它运行一个rake任务,用于从AWS SQS获取消息。

我遇到的问题是日志无法及时显示在控制台中。在出现异常/错误之前,控制台不会显示任何内容。换句话说,如果我的应用程序工作正常,则没有日志进入控制台。但是如果应用程序出错了,所有日志(信息,警告和错误)都汇集在一起​​!

我已将 config / production.rb 配置为打击:

restrict: 'A'

我google' rake任务日志无法使用',但没什么用处。这是rails日志问题还是rake任务日志问题,还是docker问题?

希望得到一些建议!

2 个答案:

答案 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