Class: Logging::RootLogger

Inherits:
Logger
  • Object
show all
Defined in:
lib/logging/root_logger.rb

Overview

The root logger exists to ensure that all loggers have a parent and a defined logging level. If a logger is additive, eventually its log events will propogate up to the root logger.

Instance Attribute Summary

Attributes inherited from Logger

#additive, #level, #name, #parent, #trace

Instance Method Summary collapse

Methods inherited from Logger

#<<, #add, #add_appenders, #appenders=, #clear_appenders, define_log_methods, #meta_eval, new, #remove_appenders, root

Constructor Details

#initializeRootLogger

call-seq:

RootLogger.new

Returns a new root logger instance. This method will be called only once when the Repository singleton instance is created.



22
23
24
25
26
27
28
29
30
# File 'lib/logging/root_logger.rb', line 22

def initialize( )
  ::Logging.init unless ::Logging.const_defined? 'MAX_LEVEL_LENGTH'

  @name = 'root'
  @appenders = []
  @additive = false
  @trace = false
  self.level = 0
end

Instance Method Details

#<=>(other) ⇒ Object

call-seq:

log <=> other

Compares this logger by name to another logger. The normal return codes for String objects apply.



38
39
40
41
42
43
# File 'lib/logging/root_logger.rb', line 38

def <=>( other )
  case other
  when self; 0
  when ::Logging::Logger; -1
  else raise ArgumentError, 'expecting a Logger instance' end
end

#level=(level) ⇒ Object

call-seq:

level = :all

Set the level for the root logger. The functionality of this method is the same as Logger#level=, but setting the level to nil for the root logger is not allowed. The level is silently set to :all.



52
53
54
55
# File 'lib/logging/root_logger.rb', line 52

def level=( level )
  level ||= 0
  super
end