2014-05-20 13:09:45 -04:00
|
|
|
require 'active_support/core_ext/string/filters'
|
2014-05-20 10:02:36 -04:00
|
|
|
|
2014-05-20 07:41:14 -04:00
|
|
|
module ActiveJob
|
|
|
|
module Logging
|
|
|
|
mattr_accessor(:logger) { ActiveSupport::Logger.new(STDOUT) }
|
2014-05-20 13:09:45 -04:00
|
|
|
|
|
|
|
class LogSubscriber < ActiveSupport::LogSubscriber
|
|
|
|
def enqueue(event)
|
|
|
|
info "Enqueued #{event.payload[:job].name} to #{queue_name(event)}" + args_info(event)
|
|
|
|
end
|
|
|
|
|
|
|
|
def enqueue_at(event)
|
|
|
|
info "Enqueued #{event.payload[:job].name} to #{queue_name(event)} at #{event.payload[:timestamp]}" + args_info(event)
|
|
|
|
end
|
|
|
|
|
|
|
|
private
|
|
|
|
def queue_name(event)
|
|
|
|
event.payload[:adapter].name.demodulize.remove('Adapter')
|
|
|
|
end
|
|
|
|
|
|
|
|
def args_info(event)
|
|
|
|
event.payload[:args].any? ? ": #{event.payload[:args].inspect}" : ""
|
|
|
|
end
|
|
|
|
|
|
|
|
def logger
|
|
|
|
ActiveJob::Base.logger
|
|
|
|
end
|
|
|
|
end
|
2014-05-20 07:41:14 -04:00
|
|
|
end
|
|
|
|
end
|
2014-05-20 13:09:45 -04:00
|
|
|
|
|
|
|
ActiveJob::Logging::LogSubscriber.attach_to :active_job
|