class Para::Logging::ActiveJobLogSubscriber
Public Instance Methods
Source
# File lib/para/logging/active_job_log_subscriber.rb, line 4 def failed(event) fatal do job = event.payload[:job] buffer = [] buffer << "#{ job.class.name } (Job ID: #{ job.job_id }) failed" + args_info(job) buffer << '' buffer << [event.payload[:exception].class, event.payload[:exception].message].join(' - ') buffer << '' buffer << '-------------------' buffer << '' buffer += event.payload[:exception].backtrace buffer << '' buffer.compact.join("\n") end end
Private Instance Methods
Source
# File lib/para/logging/active_job_log_subscriber.rb, line 22 def args_info(job) if job.arguments.any? ' with arguments: ' + job.arguments.map { |arg| format(arg).inspect }.join(', ') else '' end end
Source
# File lib/para/logging/active_job_log_subscriber.rb, line 31 def format(arg) case arg when Hash arg.transform_values { |value| format(value) } when Array arg.map { |value| format(value) } when GlobalID::Identification arg.to_global_id rescue arg else arg end end
Source
# File lib/para/logging/active_job_log_subscriber.rb, line 44 def logger ActiveJob::Base.logger end