module OpenShift::NodeLogger

Constants

PROFILES

Public Class Methods

build_logger(profile) click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 36
def self.build_logger(profile)
  begin
    # Use defaults
    log_file  = profile[:default_file]
    log_level = profile[:default_level]

    # Override defaults with configs if possible
    begin
      config           = OpenShift::Config.new
      config_log_file  = config.get(profile[:file_config])
      config_log_level = config.get(profile[:level_config])

      if config_log_level && Logger::Severity.const_defined?(config_log_level)
        log_level = Logger::Severity.const_get(config_log_level)
      end

      if config_log_file
        log_file = config_log_file
      end
    rescue => e
      # just use the defaults
      Logger.new(STDERR).error { "Failed to apply logging configuration #{profile}: #{e.message}" }
    end

    FileUtils.mkpath(File.dirname(log_file)) unless File.exist? File.dirname(log_file)

    file = if File.exist?(log_file)
             File.open(log_file, File::WRONLY | File::APPEND)
           else
             File.open(log_file, File::WRONLY | File::APPEND| File::CREAT, 0644)
           end

    file.sync = true
    
    logger       = Logger.new(file, 5, 10 * 1024 * 1024)
    logger.level = log_level
    logger
  rescue Exception => e
    # If all else fails, use a STDOUT logger
    Logger.new(STDERR).error { "Failed to create logger; falling back to STDOUT: #{e.message}" }
    Logger.new(STDOUT)
  end
end
logger() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 84
def self.logger
  @logger ||= self.build_logger(PROFILES[:standard])
end
trace_logger() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 92
def self.trace_logger
  @trace_logger ||= self.build_logger(PROFILES[:trace])
end

Public Instance Methods

logger() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 80
def logger
  NodeLogger.logger
end
trace_logger() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 88
def trace_logger
  NodeLogger.trace_logger
end