Sha256: 53561d9060c1dc9632177845321d149ec04f4fe8a5e8b0d865a9781aca5bab3c
Contents?: true
Size: 1.11 KB
Versions: 4
Compression:
Stored size: 1.11 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. # # Usage: # require 'resque/plugins/custom_logger' # class ExecuteWorkflowJob # extend Resque::Plugins::CustomLogger # ... # end module Resque module Plugins module CustomLogger def before_perform(args = nil) marker = SecureRandom.uuid logger = MonoLogger.new(STDOUT) logger.level = Rails.application.config.log_level logger.formatter = proc do |serverity, datetime, progname, msg| begin msg = JSON.parse(msg) rescue JSON::ParserError => ex end require 'json' JSON.dump( trace_id: marker, level: serverity, timestamp: datetime.strftime('%FT%T.%6N'), pid: Process.pid, msg: msg ) + "\n" end Resque.logger = logger Rails.logger = logger Rails.logger.info(args.to_json) if args.present? end end end end
Version data entries
4 entries across 4 versions & 1 rubygems