lib/resque/scheduler/logger_builder.rb in resque-scheduler-4.9.0 vs lib/resque/scheduler/logger_builder.rb in resque-scheduler-4.10.0

- old
+ new

@@ -13,11 +13,11 @@ # # Pass :opts Hash with # - :quiet if logger needs to be silent for all levels. Default - false # - :verbose if there is a need in debug messages. Default - false # - :log_dev to output logs into a desired file. Default - STDOUT - # - :format log format, either 'text' or 'json'. Default - 'text' + # - :format log format, either 'text', 'json' or 'logfmt'. Default - 'text' # # Example: # # LoggerBuilder.new( # :quiet => false, :verbose => true, :log_dev => 'log/scheduler.log' @@ -30,10 +30,11 @@ end # Returns an instance of MonoLogger def build logger = MonoLogger.new(@log_dev) + logger.progname = 'resque-scheduler'.freeze logger.level = level logger.formatter = send(:"#{@format}_formatter") logger end @@ -48,24 +49,33 @@ MonoLogger::FATAL end end def text_formatter - proc do |severity, datetime, _progname, msg| - "resque-scheduler: [#{severity}] #{datetime.iso8601}: #{msg}\n" + proc do |severity, datetime, progname, msg| + "#{progname}: [#{severity}] #{datetime.iso8601}: #{msg}\n" end end def json_formatter proc do |severity, datetime, progname, msg| require 'json' JSON.dump( - name: 'resque-scheduler', + name: progname, progname: progname, level: severity, timestamp: datetime.iso8601, msg: msg ) + "\n" + end + end + + def logfmt_formatter + proc do |severity, datetime, progname, msg| + "timestamp=\"#{datetime.iso8601}\" " \ + "level=\"#{severity}\" " \ + "progname=\"#{progname}\" " \ + "msg=\"#{msg}\"\n" end end end end end