Rails:如何在生产模式下从rake任务中写入自定义日志文件?

Ole*_*ann 6 rake logging ruby-on-rails web-crawler

我正在尝试在运行rake任务时写入我的日志文件.它在开发模式下工作正常,但是一旦切换到生产环境,就不会向日志文件写入任何内容.

我在这里读到

如何在Ruby on Rails中为自己的rake任务使用自定义日志?

这是正常的行为,并在灯塔中找到了#wontfix票.

我的问题:有没有办法输出,在我的rake任务运行时发生了什么?它执行一些爬行并运行数小时.我希望输出进入特定的日志文件,如/log/crawler.log

现在我只是用这个命令写入日志文件:

ActiveRecord::Base.logger.info "Log Text"
Run Code Online (Sandbox Code Playgroud)

谢谢!

Dan*_*ley 14

您遇到的问题是rails忽略了生产模式中的"信息"级别日志.

我建议阅读:http://www.ruby-doc.org/stdlib/libdoc/logger/rdoc/classes/Logger.html

并创建自己的记录器:

logger = Logger.new('logfile.log')
logger.info "Something happened"
Run Code Online (Sandbox Code Playgroud)