Sha256: bdffcd41a3caed7443ef95ee0338b6753bd943964a39c17921df08ea9276d78a

Contents?: true

Size: 1.01 KB

Versions: 13

Compression:

Stored size: 1.01 KB

Contents

# This Resque extension changes the resque default logger to monologger
# and formats the log in json format.
# 
# Monologger supports printing logs in trap block.
# 
module Resque
  module Plugins
    module CustomLogger
      def before_perform(*args)
        case args.class.to_s
        when "Array"
          if args.first.class == Hash
            data = args.first.merge({:worker_class => self.to_s})
          else
            data = {:worker_class => self.to_s, :args => args}
          end
        when "Hash"
          data = args.merge({:worker_class => self.to_s})
        end
        if Rails.logger.is_a?(Ougai::Logger) && !Rails.env.development?
          Rails.logger.with_fields = {job: data, trace_id: SecureRandom.uuid, name: "RailsWorker"}
        end
        data = {:msg => 'Starting job', :job => data}
        if data.dig(:job, 'app_instance_id').present?
          data[:app_instance_id] = data.dig(:job, 'app_instance_id')
        end

        Rails.logger.info(data) if data.present?
      end
    end
  end
end

Version data entries

13 entries across 13 versions & 1 rubygems

Version Path
zuora_connect-3.0.0.pre.s lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.r lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.q lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.p lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.o lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.n lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.m lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0l lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0k lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.j lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.i lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.h lib/resque/plugins/custom_logger.rb
zuora_connect-3.0.0.pre.g lib/resque/plugins/custom_logger.rb