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