如何从初始化程序访问Rails记录器?

abe*_*ger 18 logging ruby-on-rails initializer

根据上一个问题的建议,我将后台进程放在名为scheduler.rb的初始化程序中.但是,我很难将新安排的进程记录到Rails日志中.我是否有一种简单的方法可以从初始化程序访问相同的日志,最好是访问Rails的默认记录器方法(logger.info等)?

Her*_*ess 25

Rails 3-
只需在初始化程序中使用Rails.logger

Rails.logger.info "blabla"
Run Code Online (Sandbox Code Playgroud)

HTH

  • 只是一个关于我很长时间错过的明显事件的快速说明.要做到这一点,你需要"需要'记录器'" (2认同)

Jas*_*son 16

Rails 3中不推荐使用RAILS_DEFAULT_LOGGER.以下步骤适用于Rails 3.1.

在调用initialize之前在environment.rb中设置记录器!在您的申请上:

Rails.logger = Logger.new(STDOUT)
MyServer::Application.initialize!
Run Code Online (Sandbox Code Playgroud)

然后在初始化程序中调用记录器.

Rails.logger.info "Hello, world!"
Run Code Online (Sandbox Code Playgroud)


St.*_*and 9

RAILS_DEFAULT_LOGGER.info "abc"
Run Code Online (Sandbox Code Playgroud)