module EXEL::Logging

Constants

DEFAULT_LEVEL

Public Class Methods

initialize_logger() click to toggle source
# File lib/exel/logging.rb, line 20
def self.initialize_logger
  @logger = Logger.new(log_filename)
  @logger.level = log_level
  @logger.formatter = PrefixFormatter.new
  @logger
end
log_filename() click to toggle source
# File lib/exel/logging.rb, line 27
def self.log_filename
  EXEL.configuration.log_filename || '/dev/null'
end
log_level() click to toggle source
# File lib/exel/logging.rb, line 31
def self.log_level
  level = EXEL.configuration.log_level || DEFAULT_LEVEL
  Logger.const_get(level.to_s.upcase)
end
logger() click to toggle source
# File lib/exel/logging.rb, line 16
def self.logger
  @logger || initialize_logger
end
logger=(logger) click to toggle source
# File lib/exel/logging.rb, line 36
def self.logger=(logger)
  @logger = logger ? LoggerWrapper.new(logger) : Logger.new('/dev/null')
end
prefix() click to toggle source
# File lib/exel/logging.rb, line 49
def self.prefix
  Thread.current[:exel_log_prefix]&.last
end
with_prefix(prefix) { || ... } click to toggle source

Sets a prefix to be added to any messages sent to the EXEL logger in the given block.

# File lib/exel/logging.rb, line 41
def self.with_prefix(prefix)
  Thread.current[:exel_log_prefix] ||= []
  Thread.current[:exel_log_prefix].push(prefix)
  yield
ensure
  Thread.current[:exel_log_prefix].pop
end