Class: Logbert::LoggerFactory
- Inherits:
-
Object
- Object
- Logbert::LoggerFactory
- Defined in:
- lib/logbert/logger_factory.rb
Instance Attribute Summary collapse
-
#level_manager ⇒ Object
readonly
Returns the value of attribute level_manager.
Instance Method Summary collapse
- #[](name_or_module) ⇒ Object
-
#initialize(level_manager = LevelManager.new) ⇒ LoggerFactory
constructor
A new instance of LoggerFactory.
- #parent_for(logger) ⇒ Object
- #root ⇒ Object
Constructor Details
#initialize(level_manager = LevelManager.new) ⇒ LoggerFactory
Returns a new instance of LoggerFactory.
12 13 14 15 16 |
# File 'lib/logbert/logger_factory.rb', line 12 def initialize(level_manager = LevelManager.new) @inventory = {} @level_manager = level_manager self.root.level = @level_manager[:warning] end |
Instance Attribute Details
#level_manager ⇒ Object (readonly)
Returns the value of attribute level_manager.
10 11 12 |
# File 'lib/logbert/logger_factory.rb', line 10 def level_manager @level_manager end |
Instance Method Details
#[](name_or_module) ⇒ Object
18 19 20 21 22 23 24 |
# File 'lib/logbert/logger_factory.rb', line 18 def [](name_or_module) name = Logbert.name_for(name_or_module) @inventory[name] ||= begin l = Logger.new(self, @level_manager, name) l.extend @level_manager end end |
#parent_for(logger) ⇒ Object
30 31 32 33 34 35 36 37 38 |
# File 'lib/logbert/logger_factory.rb', line 30 def parent_for(logger) n = logger.name unless n.empty? components = Logbert.split_name(n) components.pop parent_name = components.join(Logbert::NameSeparator) return self[parent_name] end end |
#root ⇒ Object
26 27 28 |
# File 'lib/logbert/logger_factory.rb', line 26 def root @root ||= self[''] end |