Module: Logger::HierarchyElement
- Included in:
- Hierarchy
- Defined in:
- lib/utilrb/logger/hierarchy.rb
Instance Method Summary collapse
- #logger ⇒ Object
-
#logger=(new_logger) ⇒ Object
Allows to change the logger object at this level of the hierarchy.
-
#make_own_logger(new_progname = nil, new_level = nil) ⇒ Object
Makes it so that this level of the module hierarchy has its own logger.
- #reset_default_logger ⇒ Object
-
#reset_own_logger ⇒ Object
Removes a logger defined at this level of the module hierarchy.
Instance Method Details
#logger ⇒ Object
54 55 56 57 58 59 60 |
# File 'lib/utilrb/logger/hierarchy.rb', line 54 def logger if defined?(@logger) && @logger return @logger elsif defined?(@__utilrb_hierarchy__default_logger) && @__utilrb_hierarchy__default_logger return @__utilrb_hierarchy__default_logger end end |
#logger=(new_logger) ⇒ Object
Allows to change the logger object at this level of the hierarchy
This is usually not used directly: a new logger can be created with Hierarchy#make_own_logger and removed with Hierarchy#reset_own_logger
31 32 33 34 35 36 |
# File 'lib/utilrb/logger/hierarchy.rb', line 31 def logger=(new_logger) @logger = new_logger log_children.each do |child| child.reset_default_logger end end |
#make_own_logger(new_progname = nil, new_level = nil) ⇒ Object
Makes it so that this level of the module hierarchy has its own logger. If new_progname
and/or new_level
are nil, the associated value are taken from the parent’s logger.
16 17 18 19 20 21 22 23 24 25 |
# File 'lib/utilrb/logger/hierarchy.rb', line 16 def make_own_logger(new_progname = nil, new_level = nil) new_logger = @logger || self.logger.dup if new_progname new_logger.progname = new_progname end if new_level new_logger.level = new_level end self.logger = new_logger end |
#reset_default_logger ⇒ Object
47 48 49 50 51 52 |
# File 'lib/utilrb/logger/hierarchy.rb', line 47 def reset_default_logger @__utilrb_hierarchy__default_logger = nil log_children.each do |child| child.reset_default_logger end end |
#reset_own_logger ⇒ Object
Removes a logger defined at this level of the module hierarchy. The logging methods will now access the parent’s module logger.
40 41 42 43 44 45 |
# File 'lib/utilrb/logger/hierarchy.rb', line 40 def reset_own_logger @logger = nil log_children.each do |child| child.reset_default_logger end end |