我在使用Resque记录器时遇到了一些问题。当我从命令行正常启动它(它刷新到标准输出)时,一切正常。但是,一旦我将它移植,我就再也看不到日志了。我认为它会默认为Rails应用程序记录器,但没有任何显示。另外,我正在使用一个库,它将大部分输出(主要用于调试目的)写入标准错误和标准输出(即$ stderr和$ stdout)。这些常量是否刷新到resque记录器(此外,它们应该是否应该)?我怎么能把它们捆在一起呢?
不仅如此,我还想将分叉进程的日志写入单独的文件,也就是说,我需要在处理作业之前更改日志文件。哪个(哪个钩子)最适合它?
答案 0 :(得分:2)
我认为它会默认使用Rails app logger
Nope Resque记录器默认记录到STDOUT
您已将其更改为记录到特定文件。
另外,我使用的库将大部分输出(主要用于调试目的)写入标准错误和标准输出(即$ stderr和$ stdout)。
不,除非他们使用Resque.logger.[info|warn|error]
语法
不仅如此,我还想将分叉进程的日志写入单独的文件,也就是说,我需要在处理作业之前更改日志文件。哪个(哪个钩子)最适合它?
嗯,我认为你可以做到的就是重新定义resque hook中的Resque.logger
比如before_perform
def self.before_perform
Resque.logger = File.open(File.join("path"))
end
然后在任何地方使用Resque.logger.[info | warn | error]
希望这个帮助