Class: GoodData::GdLogger
- Includes:
- ContextManager, Rest::Aggregator
- Defined in:
- lib/gooddata/core/gd_logger.rb
Overview
This class delegates messages to multiple loggers By usage of [ContextManager] and [Rest::Aggregator] it stores information about context of execution
Instance Attribute Summary collapse
-
#loggers ⇒ Object
Returns the value of attribute loggers.
Attributes included from Rest::Aggregator
Instance Method Summary collapse
-
#add(severity, message, progname, &block) ⇒ Object
Pass message to multiple loggers.
-
#initialize ⇒ GdLogger
constructor
A new instance of GdLogger.
-
#level(level, logger_name) ⇒ Object
Set logger level for specified logger.
-
#level=(level) ⇒ Object
Set logger level for all loggers.
- #logging_off(logger_id) ⇒ Object
- #logging_on(logger_id, logger) ⇒ Object
- #logging_on?(logger_id) ⇒ Boolean
- #test_severity(severity) ⇒ Object
Methods included from Rest::Aggregator
#clear_store, #initialize_store, #update_store
Methods included from ContextManager
#context, #end_action, #initialize_context, #start_action, #time_from_action_start
Methods included from Mixin::PropertyAccessor
#property_accessor, #property_reader, #property_writer
Constructor Details
#initialize ⇒ GdLogger
Returns a new instance of GdLogger.
27 28 29 30 31 |
# File 'lib/gooddata/core/gd_logger.rb', line 27 def initialize @loggers = {} initialize_context initialize_store end |
Instance Attribute Details
#loggers ⇒ Object
Returns the value of attribute loggers.
22 23 24 |
# File 'lib/gooddata/core/gd_logger.rb', line 22 def loggers @loggers end |
Instance Method Details
#add(severity, message, progname, &block) ⇒ Object
Pass message to multiple loggers. By parameters some loggers might be filtered out and the message might be modified.
69 70 71 72 73 |
# File 'lib/gooddata/core/gd_logger.rb', line 69 def add(severity, , progname, &block) loggers.each do |_, logger| logger.add(severity, , progname, &block) end end |
#level(level, logger_name) ⇒ Object
Set logger level for specified logger
79 80 81 |
# File 'lib/gooddata/core/gd_logger.rb', line 79 def level(level, logger_name) loggers[logger_name].level = level end |
#level=(level) ⇒ Object
Set logger level for all loggers
86 87 88 89 90 |
# File 'lib/gooddata/core/gd_logger.rb', line 86 def level=(level) loggers.values.each do |logger| logger.level = level end end |
#logging_off(logger_id) ⇒ Object
37 38 39 |
# File 'lib/gooddata/core/gd_logger.rb', line 37 def logging_off(logger_id) loggers[logger_id] = NilLogger.new end |
#logging_on(logger_id, logger) ⇒ Object
33 34 35 |
# File 'lib/gooddata/core/gd_logger.rb', line 33 def logging_on(logger_id, logger) loggers[logger_id] = logger end |
#logging_on?(logger_id) ⇒ Boolean
41 42 43 |
# File 'lib/gooddata/core/gd_logger.rb', line 41 def logging_on?(logger_id) loggers.key?(logger_id) && !loggers[logger_id].is_a?(NilLogger) end |
#test_severity(severity) ⇒ Object
58 59 60 61 62 |
# File 'lib/gooddata/core/gd_logger.rb', line 58 def test_severity(severity) (loggers.values.map do |logger| logger.send severity.to_s + "?" end).any? end |