2013-04-24 21 views
1

我在我的config /环境/ development.rb以下行:导轨:resque工人日志不兑现log_tags

config.log_tags = [lambda { |req| Time.now }] 

的轨道记录哪些作品完美(它与前加一个时间戳的每个条目)。

我想在我的工人中有同样的行为。 的

p Rails.application.config.log_tags 

在resque作业的执行方法的输出显示我,那在它里面一个进程:

[#<Proc:[email protected]/.../config/environments/development.rb:49 (lambda)>] 

但尽管如此,日志条目没有时间戳。 我正在用尽为什么发生这种情况的想法...

回答

1

在Rack中间件(Rails::Rack::Logger#call)中评估日志标记为once per request。 Resque运行时没有Web请求,因此您什么都看不到。

为了得到你想要的,你应该添加类似于Rails::Rack::Logger#compute_tags Resque的代码作为job hook,例如在before_perform中。