如何更改rails logger以从rake任务中使用标准输出(rails2)
当我做
Rails.logger.debug来自我的rake任务中的“hello world”我想让它登录到标准输出。
如何从我的rake任务中将rails记录器设置为Logger.new(STDOUT)?
我希望我的应用程序在通过控制器等时登录到文件,只是因为我的监视设置方式,所以希望rake任务进入std。
我以为我可以定义另一个环境并使用该配置,但可能有点过分,我希望每个环境中都有相同的环境变量,只想更改我的日志目的地的位置。
现在我有一个使用puts的日志助手,但我想利用rails日志和缓冲的格式。
我刚做了Rails.logger = Logger.new(STDOUT)
,这也Rails.logger = Logger.new(STDOUT)
)
您可以通过以下方式重置默认记录器:
RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)
您还可以为应用程序的特定部分设置记录器(ActiveRecord,ActionController …),如下所示:
ActiveRecord :: Base.logger = Logger.new(STDOUT)
使用rails 4,您将使用gem rails_12factor。 把它放到你的Gemfile中,然后瞧! gem’rails_12factor_’