如何更改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_’