Class: CompositeLogger

Inherits:
Logger
  • Object
show all
Defined in:
lib/composite_logger.rb

Defined Under Namespace

Classes: DatetimeFormatNotSupported, Error, FormatterNotSupported

Constant Summary collapse

VERSION =
[
  VERSION_MAJOR = 1,
  VERSION_MINOR = 2,
  VERSION_TINY = 0,
  VERSION_PRE = nil
].compact.join(".")

Instance Method Summary collapse

Constructor Details

#initialize(*loggers) ⇒ CompositeLogger

Returns a new instance of CompositeLogger.



15
16
17
18
19
# File 'lib/composite_logger.rb', line 15

def initialize(*loggers)
  @loggers = loggers
  @level = DEBUG
  @logdev = nil
end

Instance Method Details

#<<(message) ⇒ Object



41
42
43
# File 'lib/composite_logger.rb', line 41

def <<(message)
  loggers.each { |logger| logger << message }
end

#add(severity, message = nil, progname = nil, &block) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/composite_logger.rb', line 45

def add(severity, message = nil, progname = nil, &block)
  severity ||= UNKNOWN

  return true if severity < @level

  loggers.map { |logger| logger.add(severity, message, progname, &block) }
end

#datetime_formatObject



33
34
35
# File 'lib/composite_logger.rb', line 33

def datetime_format
  raise(DatetimeFormatNotSupported)
end

#datetime_format=(datetime_format) ⇒ Object



29
30
31
# File 'lib/composite_logger.rb', line 29

def datetime_format=(datetime_format)
  raise(DatetimeFormatNotSupported)
end

#formatterObject



25
26
27
# File 'lib/composite_logger.rb', line 25

def formatter
  raise(FormatterNotSupported)
end

#formatter=(formatter) ⇒ Object



21
22
23
# File 'lib/composite_logger.rb', line 21

def formatter=(formatter)
  raise(FormatterNotSupported)
end

#loggersObject



37
38
39
# File 'lib/composite_logger.rb', line 37

def loggers
  @loggers ||= []
end