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
44 45 46 47 48 49 50 51 52 |
# 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 |
Class Method Details
.logger ⇒ Logger
Returns default logger.
35 36 37 38 39 40 |
# File 'lib/bogo/logger.rb', line 35 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
58 59 60 61 62 63 64 65 66 67 68 |
# 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 |