【发布时间】:2016-04-05 05:33:50
【问题描述】:
我的 rails4 应用程序正在使用 docker 运行。它运行 rake 任务以从 AWS SQS 获取消息。
我遇到的问题是日志无法及时显示在控制台中。在出现异常/错误之前,控制台不会显示任何内容。换句话说,如果我的应用程序运行良好,控制台就不会出现任何日志。但如果应用程序出错,所有的日志(信息、警告和错误)都会聚集在一起!
我已经将 config/production.rb 配置为打击:
config.logger = Logger.new(STDOUT)
config.logger.level = Logger.const_get('INFO')
config.log_level = :info
我在谷歌上搜索“rake 任务日志不起作用”,但没有任何用处。这是 Rails 日志问题还是 rake 任务日志问题,或者可能是 docker 问题?
希望得到一些建议!
【问题讨论】:
-
我看到了一个类似的问题,在 rake 任务退出之前,我调用的任何 rake 任务都不会输出到 STDOUT。我在 rake 任务中使用以下代码对此进行了测试:
loop { puts "in loop"; sleep 2 }。当任务运行时,STDOUT 中不会出现任何内容,但是一旦完成“循环中”的两个实例,就会立即获得输出。我还没有找到为什么会这样,但是如果我弄明白了,我会在这里发回。
标签: ruby-on-rails logging rake-task