123456789_123456789_123456789_123456789_123456789_

Module: ActiveJob::Logging

Do not use. This module is for internal use only.
Relationships & Source Files
Extension / Inclusion / Inheritance Descendants
Included In:
Super Chains via Extension / Inclusion / Inheritance
Class Chain:
Defined in: activejob/lib/active_job/logging.rb

Class Method Summary

::ActiveSupport::Concern - Extended

class_methods

Define class methods from given block.

included

Evaluate given block in context of base class, so that you can write class macros here.

prepended

Evaluate given block in context of base class, so that you can write class macros here.

append_features, prepend_features

Instance Attribute Summary

Instance Method Summary

DSL Calls

included

[ GitHub ]


10
11
12
13
14
15
# File 'activejob/lib/active_job/logging.rb', line 10

included do
  cattr_accessor :logger, default: ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT))
  class_attribute :log_arguments, instance_accessor: false, default: true

  around_enqueue(prepend: true) { |_, block| tag_logger(&block) }
end

Instance Attribute Details

#logger_tagged_by_active_job?Boolean (readonly, private)

[ GitHub ]

  
# File 'activejob/lib/active_job/logging.rb', line 31

def logger_tagged_by_active_job?
  logger.formatter.current_tags.include?("ActiveJob")
end

Instance Method Details

#perform_now

[ GitHub ]

  
# File 'activejob/lib/active_job/logging.rb', line 17

def perform_now
  tag_logger(self.class.name, self.job_id) { super }
end

#tag_logger(*tags, &block) (private)

[ GitHub ]

  
# File 'activejob/lib/active_job/logging.rb', line 22

def tag_logger(*tags, &block)
  if logger.respond_to?(:tagged)
    tags.unshift "ActiveJob" unless logger_tagged_by_active_job?
    logger.tagged(*tags, &block)
  else
    yield
  end
end