module Resque::Plugins::CustomLogger
def before_perform(*args)
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 Rails.logger.with_fields = {job: data, trace_id: SecureRandom.uuid, name: "RailsWorker"} if Rails.logger.class.to_s == 'Ougai::Logger' && ZuoraConnect.configuration.json_logging data = {:msg => 'Starting job', :job => data} app_instance_id = data.dig(:job, 'app_instance_id') if app_instance_id.present? Rails.logger.before_log = lambda do |data| data[:app_instance_id] = app_instance_id end end Rails.logger.info(data) if data.present? end