2013-04-24 3 views
1

У меня есть следующая строка в моей конфигурации/средах/development.rb:рельсов: журнал спасательного работник не соблюдающие 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

Теги журналов оцениваются once per request в промежуточном программном обеспечении стойки (Rails::Rack::Logger#call). Когда Resque не работает, веб-запрос отсутствует, и вы ничего не видите.

Чтобы получить то, что вы хотите, вы должны добавить код, похожий на Rails::Rack::Logger#compute_tags, в Resque как job hook, например, в before_perform.

 Смежные вопросы

  • Нет связанных вопросов^_^