aboutsummaryrefslogtreecommitdiffstats
path: root/lib/active_job/log_subscriber.rb
blob: 2c389ed43105afc158d34c6e685dd95581a5677c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
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