Class: Logging::RootLogger
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
-
#<=>(other) ⇒ Object
call-seq: log <=> other.
-
#initialize ⇒ RootLogger
constructor
call-seq: RootLogger.new.
-
#level=(level) ⇒ Object
call-seq: level = :all.
Methods inherited from Logger
#<<, #add, #add_appenders, #appenders=, #clear_appenders, define_log_methods, #meta_eval, new, #remove_appenders, root
Constructor Details
#initialize ⇒ RootLogger
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 |