class Logger::LogDevice
Public Instance Methods
add_logger(name, logger = nil)
click to toggle source
Add a logger
# File lib/razing_ruby/logger.rb, line 33 def add_logger(name, logger = nil) name, logger = __prep_logger__(name, logger) return false if logger.logdev == self loggers[name] = logger end
del_logger(name)
click to toggle source
Remove a logger
# File lib/razing_ruby/logger.rb, line 40 def del_logger(name) loggers[name].close loggers.delete(name) end
get_logger(name)
click to toggle source
Get a logger
# File lib/razing_ruby/logger.rb, line 46 def get_logger(name) loggers[name] end
loggers()
click to toggle source
# File lib/razing_ruby/logger.rb, line 50 def loggers @loggers ||= {} end
raze_write(*a, &b)
click to toggle source
Write a log
# File lib/razing_ruby/logger.rb, line 25 def raze_write(*a, &b) results = [ruby_write(*a, &b)] loggers.values.map(&:logdev).reduce(results) do |out, logger| logger.respond_to?(:write) ? out << logger.write(*a, &b) : out end end
Also aliased as: write
Private Instance Methods
__prep_logger__(name, logger = nil)
click to toggle source
Get the logger for the consumption
# File lib/razing_ruby/logger.rb, line 61 def __prep_logger__(name, logger = nil) if name.is_a?(String) && ! logger.nil? [name, logger.class <= Logger ? logger : Logger.new(logger)] elsif name.class <= Logger && logger.nil? [name, name] else [name, Logger.new(name)] end end