Class: Ohai::Log
- Inherits:
-
Object
- Object
- Ohai::Log
- Defined in:
- lib/ohai/log.rb,
lib/ohai/log/formatter.rb
Defined Under Namespace
Classes: Formatter
Class Attribute Summary collapse
-
.logger ⇒ Object
:nodoc.
Class Method Summary collapse
-
.init(*opts) ⇒ Object
Use Ohai::Logger.init when you want to set up the logger manually.
-
.level(loglevel) ⇒ Object
Sets the level for the Logger object by symbol.
-
.method_missing(method_symbol, *args) ⇒ Object
Passes any other method calls on directly to the underlying Logger object created with init.
Class Attribute Details
.logger ⇒ Object
:nodoc
29 30 31 |
# File 'lib/ohai/log.rb', line 29 def logger @logger end |
Class Method Details
.init(*opts) ⇒ Object
Use Ohai::Logger.init when you want to set up the logger manually. Arguments to this method get passed directly to Logger.new, so check out the documentation for the standard Logger class to understand what to do here.
If this method is called with no arguments, it will log to STDOUT at the :info level.
It also configures the Logger instance it creates to use the custom Ohai::Log::Formatter class.
38 39 40 41 42 43 44 45 46 |
# File 'lib/ohai/log.rb', line 38 def init(*opts) if opts.length == 0 @logger = Logger.new(STDOUT) else @logger = Logger.new(*opts) end @logger.formatter = Ohai::Log::Formatter.new() level(Ohai::Config.log_level) end |
.level(loglevel) ⇒ Object
Sets the level for the Logger object by symbol. Valid arguments are:
:debug
:info
:warn
:error
:fatal
Throws an ArgumentError if you feed it a bogus log level.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/ohai/log.rb', line 57 def level(loglevel) init() unless @logger case loglevel when :debug @logger.level = Logger::DEBUG when :info @logger.level = Logger::INFO when :warn @logger.level = Logger::WARN when :error @logger.level = Logger::ERROR when :fatal @logger.level = Logger::FATAL else raise ArgumentError, "Log level must be one of :debug, :info, :warn, :error, or :fatal" end end |
.method_missing(method_symbol, *args) ⇒ Object
Passes any other method calls on directly to the underlying Logger object created with init. If this method gets hit before a call to Ohai::Logger.init has been made, it will call Ohai::Logger.init() with no arguments.
78 79 80 81 82 83 84 85 |
# File 'lib/ohai/log.rb', line 78 def method_missing(method_symbol, *args) init() unless @logger if args.length > 0 @logger.send(method_symbol, *args) else @logger.send(method_symbol) end end |