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