OpenShift::NodeLogger

Constants

PROFILES

Public Class Methods

build_logger(profile) click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 38
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)

    orig_umask = File.umask(0)
    file = File.open(log_file, File::WRONLY | File::APPEND| File::CREAT, 0660)
    File.umask(orig_umask)

    file.sync = true
    
    logger       = Logger.new(file, 5, 10 * 1024 * 1024)
    logger.level = log_level
    logger.formatter = proc do |severity, datetime, progname, msg|
      "#{datetime.strftime("%B %d %H:%M:%S")} #{severity} #{msg}\n"
    end
    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 87
def self.logger
  @logger ||= self.build_logger(PROFILES[:standard])
end
logger_rebuild() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 91
def self.logger_rebuild
  @logger = self.build_logger(PROFILES[:standard])
end
trace_logger() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 99
def self.trace_logger
  @trace_logger ||= self.build_logger(PROFILES[:trace])
end
trace_rebuild() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 103
def self.trace_rebuild
  @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 83
def logger
  NodeLogger.logger
end
trace_logger() click to toggle source
# File lib/openshift-origin-node/utils/node_logger.rb, line 95
def trace_logger
  NodeLogger.trace_logger
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.