class Ramaze::Logger::LogHub

Bundles different informer instances and sends incoming messages to each. This is the default with Informer as only member.

Attributes

ignored_tags[RW]
loggers[RW]

Public Class Methods

new(*loggers) click to toggle source

Takes a list of instances or classes (which will be initialized) and that are added to @loggers. All messages are then sent to each member.

@param [Array] loggers

# File lib/ramaze/log/hub.rb, line 22
def initialize(*loggers)
  @loggers = loggers
  @ignored_tags = Set.new
  @loggers.map! do |logger|
    next(nil) if logger == self
    logger.is_a?(Class) ? logger.new : logger
  end
  @loggers.uniq!
  @loggers.compact!
end

Public Instance Methods

log(tag, *args) click to toggle source

Integration to Logging

@param [String] tag @param [Hash] args

# File lib/ramaze/log/hub.rb, line 39
def log(tag, *args)
  return if @ignored_tags.include?(tag)
  @loggers.each do |logger|
    logger.log(tag, *args)
  end
end