123456789_123456789_123456789_123456789_123456789_

Module: ActiveJob::Logging

Relationships & Source Files
Namespace Children
Modules:
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 ]


23
24
25
26
27
28
29
30
31
32
33
34
35
36
# File 'activejob/lib/active_job/logging.rb', line 23

included do
  ##
  # Configures whether a job's arguments should be logged. This can be
  # useful when a job's arguments may be sensitive and so should not be
  # logged.
  #
  # The value defaults to true, but this can be configured with
  # config.active_job.log_arguments. Additionally, individual jobs can
  # also configure a value, which will apply to themselves and any
  # subclasses.
  class_attribute :log_arguments, instance_accessor: false, default: true

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

Instance Attribute Details

#logger (rw)

This method is for internal use only.
[ GitHub ]

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

delegate :logger, :logger=, to: Logging

#logger_tagged_by_active_job? ⇒ Boolean (readonly, private)

[ GitHub ]

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

def logger_tagged_by_active_job?
  formatter = logger.formatter
  formatter.respond_to?(:current_tags) && formatter.current_tags.include?("ActiveJob")
end

Instance Method Details

#perform_now

This method is for internal use only.
[ GitHub ]

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

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

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

[ GitHub ]

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

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