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
log(severity, message = nil, progname = nil, &block)
Alias for: add