module Fig::Logging

Logging facility that handles the fact that we may wish to do logging prior to Log4r being properly configured.

Constants

STRING_TO_LEVEL_MAPPING

Public Class Methods

debug(data = nil, propagated = nil) click to toggle source
# File lib/fig/logging.rb, line 110
def self.debug(data = nil, propagated = nil)
  @@logger.debug data, propagated
end
debug?() click to toggle source
# File lib/fig/logging.rb, line 114
def self.debug?()
  return @@logger.debug?
end
error(data = nil, propagated = nil) click to toggle source
# File lib/fig/logging.rb, line 86
def self.error(data = nil, propagated = nil)
  @@logger.error data, propagated
end
error?() click to toggle source
# File lib/fig/logging.rb, line 90
def self.error?()
  return @@logger.error?
end
fatal(data = nil, propagated = nil) click to toggle source
# File lib/fig/logging.rb, line 78
def self.fatal(data = nil, propagated = nil)
  @@logger.fatal data, propagated
end
fatal?() click to toggle source
# File lib/fig/logging.rb, line 82
def self.fatal?()
  return @@logger.fatal?
end
info(data = nil, propagated = nil) click to toggle source
# File lib/fig/logging.rb, line 102
def self.info(data = nil, propagated = nil)
  @@logger.info data, propagated
end
info?() click to toggle source
# File lib/fig/logging.rb, line 106
def self.info?()
  return @@logger.info?
end
initialize_post_configuration( config_file, log_to_stdout, log_level, suppress_default_configuration = false ) click to toggle source
# File lib/fig/logging.rb, line 37
def self.initialize_post_configuration(
  config_file,
  log_to_stdout,
  log_level,
  suppress_default_configuration = false
)
  if config_file
    begin
      case config_file
        when / [.] xml \z /x
          Log4r::Configurator.load_xml_file(config_file)
        when / [.] ya?ml \z /x
          Log4r::YamlConfigurator.load_yaml_file(config_file)
        else
          raise Fig::ConfigFileError, %Q<Don't know what format #{config_file} is in.>, config_file
      end

      if Log4r::Logger['fig'].nil?
        $stderr.puts %q<A value was provided for --log-config but no "fig" logger was defined.>
      end
    rescue Log4r::ConfigError, ArgumentError => exception
      raise Fig::Log4rConfigError.new(config_file, exception)
    end
  end

  if Log4r::Logger['fig'].nil?
    @@logger = Log4r::Logger.new('fig')
  else
    @@logger = Log4r::Logger['fig']
  end

  if not config_file and not suppress_default_configuration
    assign_log_level(@@logger, 'info')
    setup_default_outputter(@@logger, log_to_stdout)
  end

  assign_log_level(@@logger, log_level)

  return
end
initialize_pre_configuration(log_to_stdout, log_level) click to toggle source
# File lib/fig/logging.rb, line 30
def self.initialize_pre_configuration(log_to_stdout, log_level)
  log_level ||= 'info'

  assign_log_level(@@logger, log_level)
  setup_default_outputter(@@logger, log_to_stdout)
end
warn(data = nil, propagated = nil) click to toggle source
# File lib/fig/logging.rb, line 94
def self.warn(data = nil, propagated = nil)
  @@logger.warn data, propagated
end
warn?() click to toggle source
# File lib/fig/logging.rb, line 98
def self.warn?()
  return @@logger.warn?
end

Private Class Methods

assign_log_level(logger, string_level) click to toggle source
# File lib/fig/logging.rb, line 120
def self.assign_log_level(logger, string_level)
  return if string_level.nil?

  level = STRING_TO_LEVEL_MAPPING[string_level.downcase]
  logger.level = level
  logger.outputters.each { | outputter | outputter.level = level }

  return
end
setup_default_outputter(logger, log_to_stdout) click to toggle source
# File lib/fig/logging.rb, line 130
def self.setup_default_outputter(logger, log_to_stdout)
  if log_to_stdout
    outputter = Fig::Log4r::Outputter.new('fig stdout', $stdout)
  else
    outputter = Fig::Log4r::Outputter.new('fig stderr', $stderr)
  end

  logger.add outputter
  outputter.formatter = Log4r::PatternFormatter.new :pattern => '%M'

  return
end