如何更改rails logger以从rake任务中使用标准输出(rails2)

时间:2011-01-25 23:31:07

标签: ruby-on-rails logging

当我这样做时

我的rake任务中的Rails.logger.debug“hello world”我希望它能够登录标准。

如何在rake任务中将rails记录器设置为Logger.new(STDOUT)?

我希望我的应用程序在通过控制器等时登录到该文件,只是因为我的监控设置方式而希望rake任务进入std。

我以为我可以定义另一个环境并使用该配置,但可能有点过分,我希望每个环境中都有相同的环境变量,只想更改我的日志目的地的位置。

现在我有一个使用puts的日志助手,但我想利用rails日志和缓冲的格式。

3 个答案:

答案 0 :(得分:10)

我刚刚做过Rails.logger = Logger.new(STDOUT),这也有用(rails3)

答案 1 :(得分:7)

您可以这样重置默认记录器:

RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)

您还可以为应用程序的特定部分设置记录器(ActiveRecord,ActionController ...),如下所示:

ActiveRecord::Base.logger = Logger.new(STDOUT)

答案 2 :(得分:0)

使用rails 4,您将使用gem rails_12factor。把它放到你的Gemfile中吧!  宝石'rails_12factor _'