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
-
#log_overwrite ⇒ Boolean
readonly
Whether logger is configured for overwriting.
-
#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.
58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/kitchen/logger.rb', line 58 def initialize( = {}) @log_overwrite = if [:log_overwrite].nil? default_log_overwrite else [:log_overwrite] end @logdev = logdev_logger([:logdev], log_overwrite) if [:logdev] populate_loggers() # These setters cannot be called until @loggers are populated because # they are delegated self.progname = [:progname] || "Kitchen" self.level = [:level] || default_log_level end |
Instance Attribute Details
#log_overwrite ⇒ Boolean (readonly)
Returns whether logger is configured for overwriting.
37 38 39 |
# File 'lib/kitchen/logger.rb', line 37 def log_overwrite @log_overwrite end |
#logdev ⇒ IO (readonly)
Returns the log device.
33 34 35 |
# File 'lib/kitchen/logger.rb', line 33 def logdev @logdev end |
Instance Method Details
#:<<(: <<()) ⇒ Object
Dump one or more messages to info.
149 |
# File 'lib/kitchen/logger.rb', line 149 delegate_to_all_loggers :<< |
#add ⇒ Object
Log a message if the given severity is high enough.
143 |
# File 'lib/kitchen/logger.rb', line 143 delegate_to_all_loggers :add |
#banner { ... } ⇒ nil, true
Log a message with severity of banner (high level).
162 |
# File 'lib/kitchen/logger.rb', line 162 delegate_to_all_loggers :banner |
#close ⇒ Object
Close the logging devices.
270 |
# File 'lib/kitchen/logger.rb', line 270 delegate_to_all_loggers :close |
#datetime_format ⇒ String
Returns the date format being used.
132 |
# File 'lib/kitchen/logger.rb', line 132 delegate_to_first_logger :datetime_format |
#datetime_format= ⇒ Object
Sets the date format being used.
138 |
# File 'lib/kitchen/logger.rb', line 138 delegate_to_all_loggers :datetime_format= |
#debug { ... } ⇒ nil, true
Log a message with severity of debug.
175 |
# File 'lib/kitchen/logger.rb', line 175 delegate_to_all_loggers :debug |
#debug? ⇒ true, false
Returns whether or not the current severity level allows for the printing of debug messages.
180 |
# File 'lib/kitchen/logger.rb', line 180 delegate_to_first_logger :debug? |
#error { ... } ⇒ nil, true
Log a message with severity of error.
211 |
# File 'lib/kitchen/logger.rb', line 211 delegate_to_all_loggers :error |
#error? ⇒ true, false
Returns whether or not the current severity level allows for the printing of error messages.
216 |
# File 'lib/kitchen/logger.rb', line 216 delegate_to_first_logger :error? |
#fatal { ... } ⇒ nil, true
Log a message with severity of fatal.
247 |
# File 'lib/kitchen/logger.rb', line 247 delegate_to_all_loggers :fatal |
#fatal? ⇒ true, false
Returns whether or not the current severity level allows for the printing of fatal messages.
252 |
# File 'lib/kitchen/logger.rb', line 252 delegate_to_first_logger :fatal? |
#info { ... } ⇒ nil, true
Log a message with severity of info.
193 |
# File 'lib/kitchen/logger.rb', line 193 delegate_to_all_loggers :info |
#info? ⇒ true, false
Returns whether or not the current severity level allows for the printing of info messages.
198 |
# File 'lib/kitchen/logger.rb', line 198 delegate_to_first_logger :info? |
#level ⇒ Integer
Returns the logging severity threshold.
112 |
# File 'lib/kitchen/logger.rb', line 112 delegate_to_first_logger :level |
#level= ⇒ Object
Sets the logging severity threshold.
118 |
# File 'lib/kitchen/logger.rb', line 118 delegate_to_all_loggers :level= |
#progname ⇒ String
Returns program name to include in log messages.
122 |
# File 'lib/kitchen/logger.rb', line 122 delegate_to_first_logger :progname |
#progname= ⇒ Object
Sets the program name to include in log messages.
128 |
# File 'lib/kitchen/logger.rb', line 128 delegate_to_all_loggers :progname= |
#unknown { ... } ⇒ nil, true
Log a message with severity of unknown.
265 |
# File 'lib/kitchen/logger.rb', line 265 delegate_to_all_loggers :unknown |
#warn { ... } ⇒ nil, true
Log a message with severity of warn.
229 |
# File 'lib/kitchen/logger.rb', line 229 delegate_to_all_loggers :warn |
#warn? ⇒ true, false
Returns whether or not the current severity level allows for the printing of warn messages.
234 |
# File 'lib/kitchen/logger.rb', line 234 delegate_to_first_logger :warn? |