Class: Log4r::RootLogger
- Includes:
- Singleton
- Defined in:
- lib/log4r/logger.rb
Overview
RootLogger should be retrieved with Logger.root or Logger.global. It’s supposed to be transparent. – We must guarantee the creation of RootLogger before any other Logger or Outputter gets their logging methods defined. There are two guarantees in the code:
-
Logger#deal_with_inheritance - calls RootLogger.instance when a new Logger is created without a parent. Parents must exist, therefore RootLogger is forced to be created.
-
OutputterFactory.create_methods - Calls Logger.root first. So if an Outputter is created, RootLogger is also created.
When RootLogger is created, it calls Log4r.define_levels(*Log4rConfig::LogLevels). This ensures that the default levels are loaded if no custom ones are.
Instance Attribute Summary
Attributes inherited from Logger
#additive, #fullname, #level, #name, #outputters, #parent, #path, #trace
Instance Method Summary collapse
-
#add(*foo) ⇒ Object
Does nothing.
-
#additive=(foo) ⇒ Object
Does nothing.
-
#initialize ⇒ RootLogger
constructor
A new instance of RootLogger.
- #is_root? ⇒ Boolean
-
#level=(alevel) ⇒ Object
Set the global level.
-
#outputters=(foo) ⇒ Object
Does nothing.
-
#remove(*foo) ⇒ Object
Does nothing.
-
#trace=(foo) ⇒ Object
Does nothing.
Methods inherited from Logger
#==, [], each, each_logger, get, global, #levels, log_internal, root
Constructor Details
#initialize ⇒ RootLogger
Returns a new instance of RootLogger.
172 173 174 175 176 177 178 179 |
# File 'lib/log4r/logger.rb', line 172 def initialize Log4r.define_levels(*Log4rConfig::LogLevels) # ensure levels are loaded @level = ALL @outputters = [] Repository['root'] = self Repository['global'] = self LoggerFactory.undefine_methods(self) end |
Instance Method Details
#add(*foo) ⇒ Object
Does nothing
195 |
# File 'lib/log4r/logger.rb', line 195 def add(*foo); end |
#additive=(foo) ⇒ Object
Does nothing
193 |
# File 'lib/log4r/logger.rb', line 193 def additive=(foo); end |
#is_root? ⇒ Boolean
181 |
# File 'lib/log4r/logger.rb', line 181 def is_root?; true end |
#level=(alevel) ⇒ Object
Set the global level. Any loggers defined thereafter will not log below the global level regardless of their levels.
186 |
# File 'lib/log4r/logger.rb', line 186 def level=(alevel); @level = alevel end |
#outputters=(foo) ⇒ Object
Does nothing
189 |
# File 'lib/log4r/logger.rb', line 189 def outputters=(foo); end |
#remove(*foo) ⇒ Object
Does nothing
197 |
# File 'lib/log4r/logger.rb', line 197 def remove(*foo); end |
#trace=(foo) ⇒ Object
Does nothing
191 |
# File 'lib/log4r/logger.rb', line 191 def trace=(foo); end |