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
53 54 55 56 57 58 59 |
# File 'lib/utilrb/logger/hierarchy.rb', line 53 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
30 31 32 33 34 35 |
# File 'lib/utilrb/logger/hierarchy.rb', line 30 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.
15 16 17 18 19 20 21 22 23 24 |
# File 'lib/utilrb/logger/hierarchy.rb', line 15 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
46 47 48 49 50 51 |
# File 'lib/utilrb/logger/hierarchy.rb', line 46 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.
39 40 41 42 43 44 |
# File 'lib/utilrb/logger/hierarchy.rb', line 39 def reset_own_logger @logger = nil log_children.each do |child| child.reset_default_logger end end |