class Bogo::Logger
Public Class Methods
logger()
click to toggle source
@return [Logger] default logger
# File lib/bogo/logger.rb, line 35 def self.logger if !@_logger @_logger = new end @_logger end
new(*logger_args)
click to toggle source
Create a new ::Logger instance wrapped to allow threaded interactions
# File lib/bogo/logger.rb, line 44 def initialize(*logger_args) if logger_args.empty? logger_args = [$stderr] end @base_args = logger_args logger = ::Logger.new(*@base_args) logger.level = :fatal @wrapped_logger = Concurrent::MVar.new(logger) end
Public Instance Methods
named(name)
click to toggle source
Create a new logger with the sub-name provided
@param name [String] sub-name for logger @return [Logger]
# File lib/bogo/logger.rb, line 58 def named(name) new_name = self.progname.to_s new_name << "." unless new_name.empty? new_name << name new_logger = Logger.new(*@base_args) [:level, :formatter, :datetime_format].each do |m| new_logger.send("#{m}=", self.send(m)) end new_logger.progname = new_name new_logger end
Protected Instance Methods
wrapped_logger()
click to toggle source
# File lib/bogo/logger.rb, line 81 def wrapped_logger @wrapped_logger end