如何从初始化程序访问Rails记录器?
遵循my previous question的建议,我将后台进程放入名为scheduler.rb的初始化程序中。但是,我很难让新计划的进程登录到Rails日志。有没有简单的方法让我从初始化程序访问相同的日志,最好通过访问Rails的默认记录器方法(logger.info等)?如何从初始化程序访问Rails记录器?
RAILS_DEFAULT_LOGGER.info "abc"
RAILS_DEFAULT_LOGGER在Rails 3中已被弃用。以下步骤适用于Rails 3.1。
在调用initialize之前在environment.rb中设置记录器!在您的应用程序上:
Rails.logger = Logger.new(STDOUT)
MyServer::Application.initialize!
然后在初始化程序中调用记录器。
Rails.logger.info "Hello, world!"
Rails的3-
在初始化只需使用Rails.logger
Rails.logger.info "blabla"
HTH
较早当场将 config/application.rb
require File.expand_path('../boot', __FILE__)
require 'rails/all'
#add this line below:
Rails.logger = Logger.new(STDOUT)
导致development.log停止为我工作。 – 2013-06-17 01:53:13
你使用的是什么版本的导轨? – 2013-07-03 19:33:33
刚想快速说明很明显,我错过了很长一段时间g时间。要做到这一点,你需要“需要”记录器“ – 2014-07-22 18:27:52
适用于Rails 4以及 – 2016-04-25 12:56:18