class Buzztools::MultiLogger
The default level is DEBUG to pass all output to the sub-loggers, but the sub-loggers level will also determine what is output to their destinations
Attributes
loggers[R]
Public Class Methods
new(aLoggers)
click to toggle source
if !self.instance_methods.include?(:formatter)
def formatter @formatter ||= Logger::Formatter.new end attr_writer :formatter
end
Calls superclass method
# File lib/buzztools/extras/logging.rb, line 17 def initialize(aLoggers) super(nil) @level = Severity::DEBUG @loggers = aLoggers.is_a?(Array) ? aLoggers : [aLoggers] end
Public Instance Methods
<<(msg)
click to toggle source
# File lib/buzztools/extras/logging.rb, line 34 def <<(msg) @loggers.each do |lr| lr << msg end end
add(severity, message = nil, progname = nil, &block)
click to toggle source
# File lib/buzztools/extras/logging.rb, line 23 def add(severity, message = nil, progname = nil, &block) return true if !@loggers severity ||= UNKNOWN @loggers.each do |lr| block_given? ? lr.add(severity, message, progname, &block) : lr.add(severity, message, progname) end true end
Also aliased as: log
close()
click to toggle source
# File lib/buzztools/extras/logging.rb, line 40 def close @loggers.each do |lr| lr.close end end