Class: Bogo::Logger
- Inherits:
-
Object
- Object
- Bogo::Logger
- Defined in:
- lib/bogo/logger.rb
Defined Under Namespace
Modules: Helpers
Class Method Summary collapse
-
.logger ⇒ Logger
Default logger.
Instance Method Summary collapse
-
#initialize(*logger_args) ⇒ Logger
constructor
Create a new ::Logger instance wrapped to allow threaded interactions.
-
#named(name) ⇒ Logger
Create a new logger with the sub-name provided.
Constructor Details
#initialize(*logger_args) ⇒ Logger
Create a new ::Logger instance wrapped to allow threaded interactions
43 44 45 46 47 48 49 50 51 |
# File 'lib/bogo/logger.rb', line 43 def initialize(*logger_args) if logger_args.empty? logger_args = [$stderr] end @base_args = logger_args @logger = ::Logger.new(*@base_args) @logger.level = :fatal @lock = Mutex.new end |
Class Method Details
.logger ⇒ Logger
Returns default logger.
34 35 36 37 38 39 |
# File 'lib/bogo/logger.rb', line 34 def self.logger if !@_logger @_logger = new end @_logger end |
Instance Method Details
#named(name) ⇒ Logger
Create a new logger with the sub-name provided
57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/bogo/logger.rb', line 57 def named(name) new_name = self.progname.to_s.dup 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 |