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