class ResqueAdmin::Scheduler::LoggerBuilder
Just builds a logger, with specified verbosity and destination. The simplest example:
ResqueAdmin::Scheduler::LoggerBuilder.new.build
Public Class Methods
new(opts = {})
click to toggle source
Initializes new instance of the builder
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'
Example:
LoggerBuilder.new( :quiet => false, :verbose => true, :log_dev => 'log/scheduler.log' )
# File lib/resque_admin/scheduler/logger_builder.rb, line 25 def initialize(opts = {}) @quiet = !!opts[:quiet] @verbose = !!opts[:verbose] @log_dev = opts[:log_dev] || $stdout @format = opts[:format] || 'text' end
Public Instance Methods
build()
click to toggle source
Returns an instance of MonoLogger
# File lib/resque_admin/scheduler/logger_builder.rb, line 33 def build logger = MonoLogger.new(@log_dev) logger.level = level logger.formatter = send(:"#{@format}_formatter") logger end
Private Instance Methods
json_formatter()
click to toggle source
# File lib/resque_admin/scheduler/logger_builder.rb, line 58 def json_formatter proc do |severity, datetime, progname, msg| require 'json' JSON.dump( name: 'resque_admin-scheduler', progname: progname, level: severity, timestamp: datetime.iso8601, msg: msg ) + "\n" end end
level()
click to toggle source
# File lib/resque_admin/scheduler/logger_builder.rb, line 42 def level if @verbose && !@quiet MonoLogger::DEBUG elsif !@quiet MonoLogger::INFO else MonoLogger::FATAL end end
text_formatter()
click to toggle source
# File lib/resque_admin/scheduler/logger_builder.rb, line 52 def text_formatter proc do |severity, datetime, _progname, msg| "resque_admin-scheduler: [#{severity}] #{datetime.iso8601}: #{msg}\n" end end