如何从初始化器访问Rails日志记录器?

21

根据我的之前的问题提供的建议,我将我的后台进程放在了一个名为scheduler.rb的初始化器中。然而,我很难让新安排的进程记录到Rails日志中。有没有简单的方法可以让我从初始化器中访问相同的日志,最好是通过访问Rails的默认日志记录方法(logger.info等)来实现?

3个回答

28

Rails 3-
在你的初始化器中简单使用Rails.logger即可

Rails.logger.info "blabla"

希望对你有所帮助


2
这里简单提一下我错过了很长时间的一个显而易见的事情。为了使其工作,你确实需要“require 'logger'”。 - Anne Gunn
1
同样适用于Rails 4。 - fkoessler

15

RAILS_DEFAULT_LOGGER在Rails 3中已被弃用。 下面的步骤适用于我在Rails 3.1中的情况。

在调用应用程序的initialize!之前,在environment.rb中设置您的记录器:

Rails.logger = Logger.new(STDOUT)
MyServer::Application.initialize!

然后在您的初始化程序中调用记录器。

Rails.logger.info "Hello, world!"

9
RAILS_DEFAULT_LOGGER.info "abc"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接