module ActiveJob::Logging

Public Instance Methods

log_arguments() click to toggle source

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.

# File lib/active_job/logging.rb, line 26
class_attribute :log_arguments, instance_accessor: false, default: true
logger() click to toggle source

Accepts a logger conforming to the interface of Log4r or the default Ruby Logger class. You can retrieve this logger by calling logger on either an Active Job job class or an Active Job job instance.

# File lib/active_job/logging.rb, line 15
cattr_accessor :logger, default: ActiveSupport::TaggedLogging.new(ActiveSupport::Logger.new(STDOUT))

Private Instance Methods

logger_tagged_by_active_job?() click to toggle source
# File lib/active_job/logging.rb, line 45
def logger_tagged_by_active_job?
  logger.formatter.current_tags.include?("ActiveJob")
end
tag_logger(*tags) { || ... } click to toggle source
# File lib/active_job/logging.rb, line 36
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