Resque日志处理:什么样的策略?

时间:2013-08-12 18:12:21

标签: logging resque

我在使用Resque记录器时遇到了一些问题。当我从命令行正常启动它(它刷新到标准输出)时,一切正常。但是,一旦我将它移植,我就再也看不到日志了。我认为它会默认为Rails应用程序记录器,但没有任何显示。另外,我正在使用一个库,它将大部分输出(主要用于调试目的)写入标准错误和标准输出(即$ stderr和$ stdout)。这些常量是否刷新到resque记录器(此外,它们应该是否应该)?我怎么能把它们捆在一起呢?

不仅如此,我还想将分叉进程的日志写入单独的文件,也就是说,我需要在处理作业之前更改日志文件。哪个(哪个钩子)最适合它?

1 个答案:

答案 0 :(得分:2)

问题1:

我认为它会默认使用Rails app logger

答案1:

Nope Resque记录器默认记录到STDOUT您已将其更改为记录到特定文件。

问题2:

另外,我使用的库将大部分输出(主要用于调试目的)写入标准错误和标准输出(即$ stderr和$ stdout)。

答案2:

不,除非他们使用Resque.logger.[info|warn|error]语法

记录输出

问题3:

不仅如此,我还想将分叉进程的日志写入单独的文件,也就是说,我需要在处理作业之前更改日志文件。哪个(哪个钩子)最适合它?

答案3:

嗯,我认为你可以做到的就是重新定义resque hook中的Resque.logger    比如before_perform

   def self.before_perform
     Resque.logger = File.open(File.join("path"))
   end

然后在任何地方使用Resque.logger.[info | warn | error]

希望这个帮助