class RuGUI::RuGUILogger

Constants

DEFAULT_LEVEL
DEFAULT_OUTPUT

Default values to the log support object - aka logger

LEVELS

Public Class Methods

logger() click to toggle source
# File lib/rugui/log_support.rb, line 42
def logger
  @@rugui_logger ||= RuGUILogger.new
  @@rugui_logger.logger
end
new() click to toggle source
# File lib/rugui/log_support.rb, line 53
def initialize
  setup_logger
end

Public Instance Methods

logger() click to toggle source
# File lib/rugui/log_support.rb, line 48
def logger
  @@logger
end

Private Instance Methods

defined_classname(classname) click to toggle source
# File lib/rugui/log_support.rb, line 102
def defined_classname(classname)
  classname || self.class.name
end
defined_level() click to toggle source

Defines a level based on params informed by user, params setted up in the configuration file, or default values.

# File lib/rugui/log_support.rb, line 90
def defined_level
  level = RuGUI.configuration.logger[:level]
  if level
    level = LEVELS[level]
  elsif ENV["RUGUI_ENV"] == 'test'
    level = LEVELS[:fatal] # log nothing at all
  else
    level = DEFAULT_LEVEL
  end
  level
end
defined_output() click to toggle source

Defines a output based on params informed by user, params setted up in the configuration file, or default values.

# File lib/rugui/log_support.rb, line 77
def defined_output
  output = RuGUI.configuration.logger[:output]
  if output.nil? or [:stdout, :stderr].include?(output)
    DEFAULT_OUTPUT
  else
    File.join(RuGUI.root, 'log', output)
  end
end
setup_logger() click to toggle source

Setup a new log support object. If a problem occurs a logger is setted up to warn level.

# File lib/rugui/log_support.rb, line 61
def setup_logger
  begin
    @@logger = Logger.new(defined_output)
    @@logger.level = defined_level
  rescue StandardError => e
    @@logger = Logger.new(STDERR)
    @@logger.level = LEVELS[:warn]
    @@logger.warn "Log support problems: The log level has been raised to WARN and the output directed to STDERR until the problem is fixed."
    @@logger.error "#{e} #{e.backtrace.join("\n")}"
  end
end