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

Joe*_*lio 13 logging ruby-on-rails

当我做

我的rake任务中的Rails.logger.debug"hello world"我想让它登录到标准输出.

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

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

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

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

sin*_*yma 10

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


Pan*_*kos 7

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

RAILS_DEFAULT_LOGGER = Logger.new(STDOUT)

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

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