aboutsummaryrefslogblamecommitdiffstats
path: root/lib/active_job/log_subscriber.rb
blob: 2c389ed43105afc158d34c6e685dd95581a5677c (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11

                                                    








                                                                                                


















                                                                                                           






                                              
module ActiveJob
  class LogSubscriber < ActiveSupport::LogSubscriber
    def enqueue(event)
      payload = event.payload
      params  = payload[:params]
      adapter = payload[:adapter]
      job     = payload[:job]

      info "ActiveJob enqueued to #{adapter.name.demodulize} job #{job.name}: #{params.inspect}"
    end

    def enqueue_at(event)
      payload = event.payload
      params  = payload[:params]
      adapter = payload[:adapter]
      job     = payload[:job]
      time    = payload[:timestamp]

      info "ActiveJob enqueued at #{time} to #{adapter.name.demodulize} job #{job.name}: #{params.inspect}"
    end

    def perform_error(event)
      payload = event.payload
      params  = payload[:params]
      job     = payload[:job]
      error   = payload[:error]

      warn "ActiveJob caught error executing #{job} with #{params.inspect}: #{error.message}"
    end

    def logger
      ActiveJob::Base.logger
    end
  end
end

ActiveJob::LogSubscriber.attach_to :active_job