Class: Kitchen::Logger
- Inherits:
-
Object
- Object
- Kitchen::Logger
- Includes:
- Logger::Severity
- Defined in:
- lib/kitchen/logger.rb
Overview
Logging implementation for Kitchen. By default the console/stdout output
will be displayed differently than the file log output. Therefor, this
class wraps multiple loggers that conform to the stdlib Logger
class
behavior.
Defined Under Namespace
Classes: LogdevLogger, StdoutLogger
Instance Attribute Summary collapse
-
#logdev ⇒ IO
readonly
The log device.
Instance Method Summary collapse
-
#:<<(: <<()) ⇒ Object
Dump one or more messages to info.
-
#add ⇒ Object
Log a message if the given severity is high enough.
-
#banner { ... } ⇒ nil, true
Log a message with severity of banner (high level).
-
#close ⇒ Object
Close the logging devices.
-
#datetime_format ⇒ String
The date format being used.
-
#datetime_format= ⇒ Object
Sets the date format being used.
-
#debug { ... } ⇒ nil, true
Log a message with severity of debug.
-
#debug? ⇒ true, false
Whether or not the current severity level allows for the printing of debug messages.
-
#error { ... } ⇒ nil, true
Log a message with severity of error.
-
#error? ⇒ true, false
Whether or not the current severity level allows for the printing of error messages.
-
#fatal { ... } ⇒ nil, true
Log a message with severity of fatal.
-
#fatal? ⇒ true, false
Whether or not the current severity level allows for the printing of fatal messages.
-
#info { ... } ⇒ nil, true
Log a message with severity of info.
-
#info? ⇒ true, false
Whether or not the current severity level allows for the printing of info messages.
-
#initialize(options = {}) ⇒ Logger
constructor
Constructs a new logger.
-
#level ⇒ Integer
The logging severity threshold.
-
#level= ⇒ Object
Sets the logging severity threshold.
-
#progname ⇒ String
Program name to include in log messages.
-
#progname= ⇒ Object
Sets the program name to include in log messages.
-
#unknown { ... } ⇒ nil, true
Log a message with severity of unknown.
-
#warn { ... } ⇒ nil, true
Log a message with severity of warn.
-
#warn? ⇒ true, false
Whether or not the current severity level allows for the printing of warn messages.
Constructor Details
#initialize(options = {}) ⇒ Logger
Constructs a new logger.
50 51 52 53 54 55 56 57 58 59 60 |
# File 'lib/kitchen/logger.rb', line 50 def initialize( = {}) color = [:color] @loggers = [] @loggers << @logdev = logdev_logger([:logdev]) if [:logdev] @loggers << stdout_logger([:stdout], color) if [:stdout] @loggers << stdout_logger($stdout, color) if @loggers.empty? self.progname = [:progname] || "Kitchen" self.level = [:level] || default_log_level end |
Instance Attribute Details
#logdev ⇒ IO (readonly)
Returns the log device.
35 36 37 |
# File 'lib/kitchen/logger.rb', line 35 def logdev @logdev end |
Instance Method Details
#:<<(: <<()) ⇒ Object
Dump one or more messages to info.
124 |
# File 'lib/kitchen/logger.rb', line 124 delegate_to_all_loggers :<< |
#add ⇒ Object
Log a message if the given severity is high enough.
118 |
# File 'lib/kitchen/logger.rb', line 118 delegate_to_all_loggers :add |
#banner { ... } ⇒ nil, true
Log a message with severity of banner (high level).
137 |
# File 'lib/kitchen/logger.rb', line 137 delegate_to_all_loggers :banner |
#close ⇒ Object
Close the logging devices.
245 |
# File 'lib/kitchen/logger.rb', line 245 delegate_to_all_loggers :close |
#datetime_format ⇒ String
Returns the date format being used.
107 |
# File 'lib/kitchen/logger.rb', line 107 delegate_to_first_logger :datetime_format |
#datetime_format= ⇒ Object
Sets the date format being used.
113 |
# File 'lib/kitchen/logger.rb', line 113 delegate_to_all_loggers :datetime_format= |
#debug { ... } ⇒ nil, true
Log a message with severity of debug.
150 |
# File 'lib/kitchen/logger.rb', line 150 delegate_to_all_loggers :debug |
#debug? ⇒ true, false
Returns whether or not the current severity level allows for the printing of debug messages.
155 |
# File 'lib/kitchen/logger.rb', line 155 delegate_to_first_logger :debug? |
#error { ... } ⇒ nil, true
Log a message with severity of error.
186 |
# File 'lib/kitchen/logger.rb', line 186 delegate_to_all_loggers :error |
#error? ⇒ true, false
Returns whether or not the current severity level allows for the printing of error messages.
191 |
# File 'lib/kitchen/logger.rb', line 191 delegate_to_first_logger :error? |
#fatal { ... } ⇒ nil, true
Log a message with severity of fatal.
222 |
# File 'lib/kitchen/logger.rb', line 222 delegate_to_all_loggers :fatal |
#fatal? ⇒ true, false
Returns whether or not the current severity level allows for the printing of fatal messages.
227 |
# File 'lib/kitchen/logger.rb', line 227 delegate_to_first_logger :fatal? |
#info { ... } ⇒ nil, true
Log a message with severity of info.
168 |
# File 'lib/kitchen/logger.rb', line 168 delegate_to_all_loggers :info |
#info? ⇒ true, false
Returns whether or not the current severity level allows for the printing of info messages.
173 |
# File 'lib/kitchen/logger.rb', line 173 delegate_to_first_logger :info? |
#level ⇒ Integer
Returns the logging severity threshold.
87 |
# File 'lib/kitchen/logger.rb', line 87 delegate_to_first_logger :level |
#level= ⇒ Object
Sets the logging severity threshold.
93 |
# File 'lib/kitchen/logger.rb', line 93 delegate_to_all_loggers :level= |
#progname ⇒ String
Returns program name to include in log messages.
97 |
# File 'lib/kitchen/logger.rb', line 97 delegate_to_first_logger :progname |
#progname= ⇒ Object
Sets the program name to include in log messages.
103 |
# File 'lib/kitchen/logger.rb', line 103 delegate_to_all_loggers :progname= |
#unknown { ... } ⇒ nil, true
Log a message with severity of unknown.
240 |
# File 'lib/kitchen/logger.rb', line 240 delegate_to_all_loggers :unknown |
#warn { ... } ⇒ nil, true
Log a message with severity of warn.
204 |
# File 'lib/kitchen/logger.rb', line 204 delegate_to_all_loggers :warn |
#warn? ⇒ true, false
Returns whether or not the current severity level allows for the printing of warn messages.
209 |
# File 'lib/kitchen/logger.rb', line 209 delegate_to_first_logger :warn? |