Sha256: d5b18f17f973840ecd2a15289ffbde7aca19fca7fbe4e82b03733e736a65e4b6
Contents?: true
Size: 806 Bytes
Versions: 22
Compression:
Stored size: 806 Bytes
Contents
module Madvertise module Logging ## # MultiLogger is a simple class for multiplexing ImprovedLogger objects. It # support attach/detach to send messages to any number of loggers. class MultiLogger def initialize(*loggers) @loggers = loggers end # Attach an ImprovedLogger object. def attach(logger) logger.token = @loggers.first.token rescue nil @loggers << logger end # Detach an ImprovedLogger object. def detach(logger) @loggers.delete(logger) end # Delegate all method calls to all attached loggers. # # @private def method_missing(name, *args, &block) @loggers.map do |logger| logger.send(name, *args, &block) end.first end end end end
Version data entries
22 entries across 22 versions & 1 rubygems