Sha256: 65e9ec8e56c5ef2125a5a0ee9df97e2ade75ce38743992a4079211a3c9f8fa8c

Contents?: true

Size: 788 Bytes

Versions: 1

Compression:

Stored size: 788 Bytes

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)
        Rails.logger.with_fields = { trace_id: SecureRandom.uuid, name: "RailsWorker"}
        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
        Rails.logger.info({:msg => 'Starting job', :job => data})) if data.present?
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
zuora_connect-1.7.81w lib/resque/plugins/custom_logger.rb