class MqttSrvcLogger
Public Class Methods
new(dir)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 8 def initialize(dir) config = Config.for(dir: dir, config_type: 'logger')['loggers'] @loggers = {} @logger_formatter = proc do |severity, datetime, _progname, msg| "%s %-6s %s\n" % [datetime, severity, msg] end config.each do |logger_config| logger_config = RecursiveOpenStruct.new(logger_config) @loggers[logger_config.path] = configured_logger(logger_config) end end
Public Instance Methods
data(msg)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 31 def data(msg) each_logger { |logger| logger.info(msg.magenta) } end
debug(msg)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 23 def debug(msg) each_logger { |logger| logger.debug(msg.light_blue) } end
error(msg)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 39 def error(msg) each_logger { |logger| logger.error(msg.red) } end
error_bold(msg)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 43 def error_bold(msg) each_logger { |logger| logger.error(msg.red.bold) } end
Also aliased as: fatal
info(msg)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 27 def info(msg) each_logger { |logger| logger.info(msg.green) } end
warn(msg)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 35 def warn(msg) each_logger { |logger| logger.warn(msg.yellow) } end
Private Instance Methods
configured_logger(logger_config)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 57 def configured_logger(logger_config) if logger_config.path == 'STDOUT' STDOUT.sync = true logger = Logger.new(STDOUT) else create_log_dir(File.dirname(logger_config.path)) logger = Logger.new( logger_config.path, logger_config.count, logger_config.size ) end logger.level = logger_config.level if logger_config.level logger.formatter = @logger_formatter logger end
create_log_dir(dir)
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 77 def create_log_dir(dir) Dir.mkdir(dir) unless Dir.exist?(dir) end
each_logger() { |logger| ... }
click to toggle source
# File lib/mqtt_srvc_logger.rb, line 51 def each_logger @loggers.each do |_key, logger| yield logger end end