Sha256: 8b6d17b05547e2c04e41987828e9bdc084578c24980512e767263c00a5025480

Contents?: true

Size: 895 Bytes

Versions: 37

Compression:

Stored size: 895 Bytes

Contents

# frozen_string_literal: true

require "active_support/tagged_logging"
require "active_support/logger"

module ActiveJob
  module Logging #:nodoc:
    extend ActiveSupport::Concern

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

      around_enqueue { |_, block| tag_logger(&block) }
      around_perform { |job, block| tag_logger(job.class.name, job.job_id, &block) }
    end

    private
      def tag_logger(*tags)
        if logger.respond_to?(:tagged)
          tags.unshift "ActiveJob" unless logger_tagged_by_active_job?
          logger.tagged(*tags) { yield }
        else
          yield
        end
      end

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

Version data entries

37 entries across 37 versions & 4 rubygems

Version Path
activejob-6.1.7.10 lib/active_job/logging.rb
activejob-6.1.7.9 lib/active_job/logging.rb
activejob-6.1.7.8 lib/active_job/logging.rb
activejob-6.1.7.7 lib/active_job/logging.rb
scrapbook-0.3.2 vendor/ruby/2.7.0/gems/activejob-6.1.6.1/lib/active_job/logging.rb
activejob-6.1.7.6 lib/active_job/logging.rb
activejob-6.1.7.5 lib/active_job/logging.rb
activejob-6.1.7.4 lib/active_job/logging.rb
scrapbook-0.3.1 vendor/ruby/2.7.0/gems/activejob-6.1.6.1/lib/active_job/logging.rb
activejob-6.1.7.3 lib/active_job/logging.rb
activejob-6.1.7.2 lib/active_job/logging.rb
activejob-6.1.7.1 lib/active_job/logging.rb
activejob-6.1.7 lib/active_job/logging.rb
activejob-6.1.6.1 lib/active_job/logging.rb
activejob-6.1.6 lib/active_job/logging.rb
activejob-6.1.5.1 lib/active_job/logging.rb
activejob-6.1.5 lib/active_job/logging.rb
activejob-6.1.4.7 lib/active_job/logging.rb
activejob-6.1.4.6 lib/active_job/logging.rb
activejob-6.1.4.5 lib/active_job/logging.rb