class Logged::Logger
Logger
wrapping a component
Attributes
component[R]
enabled[W]
loggers[R]
Public Class Methods
new(loggers, component, formatter)
click to toggle source
# File lib/logged/logger.rb, line 14 def initialize(loggers, component, formatter) @loggers = loggers @component = component @formatter = formatter @enabled = true end
Public Instance Methods
<<(_msg)
click to toggle source
# File lib/logged/logger.rb, line 63 def <<(_msg); end
add(severity, message = nil, progname = nil) { || ... }
click to toggle source
# File lib/logged/logger.rb, line 21 def add(severity, message = nil, progname = nil) return unless enabled? message = yield if block_given? && message.blank? message = progname if message.blank? data, event = extract_data_and_event(message) return if data.blank? level = Logged.level_to_sym(severity) @loggers.each do |logger, options| next unless logger.send("#{level}?") add_to_logger(level, event, data, logger, options) end end
Also aliased as: log
close()
click to toggle source
# File lib/logged/logger.rb, line 53 def close @loggers.keys.each do |logger| logger.close if logger.respond_to?(:close) end end
datetime_format()
click to toggle source
# File lib/logged/logger.rb, line 59 def datetime_format; end
datetime_format=(_format)
click to toggle source
# File lib/logged/logger.rb, line 61 def datetime_format=(_format); end
disable!()
click to toggle source
# File lib/logged/logger.rb, line 73 def disable! self.enabled = false end
enable!()
click to toggle source
# File lib/logged/logger.rb, line 69 def enable! self.enabled = true end
enabled?()
click to toggle source
# File lib/logged/logger.rb, line 65 def enabled? @enabled end
Private Instance Methods
add_to_logger(level, event, data, logger, options)
click to toggle source
# File lib/logged/logger.rb, line 87 def add_to_logger(level, event, data, logger, options) data = prepare_data(event, data, options) return if data.blank? formatter = options[:formatter] || @formatter msg = formatter.call(data) return if msg.blank? log_data(logger, level, msg) end
extract_data_and_event(message)
click to toggle source
# File lib/logged/logger.rb, line 111 def extract_data_and_event(message) return if message.blank? message = { message: message } if message.is_a?(String) event = message.delete('@event') message = Logged.custom_data(Logged.config, event, message) return [nil, nil] if message.blank? message = Logged.custom_data(Logged.config[component], event, message) return [nil, nil] if message.blank? [message, event] end
log_data(logger, level, msg)
click to toggle source
# File lib/logged/logger.rb, line 101 def log_data(logger, level, msg) if logger.respond_to?(:tagged) logger.tagged(*current_tags) do logger.send(level, msg) end else logger.send(level, msg) end end
prepare_data(event, data, options)
click to toggle source
# File lib/logged/logger.rb, line 79 def prepare_data(event, data, options) config = Logged.config[component].loggers[options[:name]] return nil if Logged.ignore?(config, event) Logged.custom_data(config, event, data) end