class GoodData::GdLogger
This class delegates messages to multiple loggers By usage of [ContextManager] and [Rest::Aggregator] it stores information about context of execution
Attributes
loggers[RW]
Public Class Methods
new()
click to toggle source
# File lib/gooddata/core/gd_logger.rb, line 27 def initialize @loggers = {} initialize_context initialize_store end
Public Instance Methods
add(severity, message, progname, &block)
click to toggle source
Pass message to multiple loggers. By parameters some loggers might be filtered out and the message might be modified.
@param severity, severity of record @param message, message to be logged @param progname, progname to be logged
# File lib/gooddata/core/gd_logger.rb, line 69 def add(severity, message, progname, &block) loggers.each do |_, logger| logger.add(severity, message, progname, &block) end end
level(level, logger_name)
click to toggle source
Set logger level for specified logger
@param level, severity level @param [Symbol] logger_name, logger which severity level should be changed
# File lib/gooddata/core/gd_logger.rb, line 79 def level(level, logger_name) loggers[logger_name].level = level end
level=(level)
click to toggle source
Set logger level for all loggers
@param level, severity level
# 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)
click to toggle source
# 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)
click to toggle source
# File lib/gooddata/core/gd_logger.rb, line 33 def logging_on(logger_id, logger) loggers[logger_id] = logger end
logging_on?(logger_id)
click to toggle source
# 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)
click to toggle source
# 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