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.
57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/kitchen/logger.rb', line 57 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.
36 37 38 |
# File 'lib/kitchen/logger.rb', line 36 def log_overwrite @log_overwrite end |
#logdev ⇒ IO (readonly)
Returns the log device.
32 33 34 |
# File 'lib/kitchen/logger.rb', line 32 def logdev @logdev end |
Instance Method Details
#:<<(: <<()) ⇒ Object
Dump one or more messages to info.
148 |
# File 'lib/kitchen/logger.rb', line 148 delegate_to_all_loggers :<< |
#add ⇒ Object
Log a message if the given severity is high enough.
142 |
# File 'lib/kitchen/logger.rb', line 142 delegate_to_all_loggers :add |
#banner { ... } ⇒ nil, true
Log a message with severity of banner (high level).
161 |
# File 'lib/kitchen/logger.rb', line 161 delegate_to_all_loggers :banner |
#close ⇒ Object
Close the logging devices.
269 |
# File 'lib/kitchen/logger.rb', line 269 delegate_to_all_loggers :close |
#datetime_format ⇒ String
Returns the date format being used.
131 |
# File 'lib/kitchen/logger.rb', line 131 delegate_to_first_logger :datetime_format |
#datetime_format= ⇒ Object
Sets the date format being used.
137 |
# File 'lib/kitchen/logger.rb', line 137 delegate_to_all_loggers :datetime_format= |
#debug { ... } ⇒ nil, true
Log a message with severity of debug.
174 |
# File 'lib/kitchen/logger.rb', line 174 delegate_to_all_loggers :debug |
#debug? ⇒ true, false
Returns whether or not the current severity level allows for the printing of debug messages.
179 |
# File 'lib/kitchen/logger.rb', line 179 delegate_to_first_logger :debug? |
#error { ... } ⇒ nil, true
Log a message with severity of error.
210 |
# File 'lib/kitchen/logger.rb', line 210 delegate_to_all_loggers :error |
#error? ⇒ true, false
Returns whether or not the current severity level allows for the printing of error messages.
215 |
# File 'lib/kitchen/logger.rb', line 215 delegate_to_first_logger :error? |
#fatal { ... } ⇒ nil, true
Log a message with severity of fatal.
246 |
# File 'lib/kitchen/logger.rb', line 246 delegate_to_all_loggers :fatal |
#fatal? ⇒ true, false
Returns whether or not the current severity level allows for the printing of fatal messages.
251 |
# File 'lib/kitchen/logger.rb', line 251 delegate_to_first_logger :fatal? |
#info { ... } ⇒ nil, true
Log a message with severity of info.
192 |
# File 'lib/kitchen/logger.rb', line 192 delegate_to_all_loggers :info |
#info? ⇒ true, false
Returns whether or not the current severity level allows for the printing of info messages.
197 |
# File 'lib/kitchen/logger.rb', line 197 delegate_to_first_logger :info? |
#level ⇒ Integer
Returns the logging severity threshold.
111 |
# File 'lib/kitchen/logger.rb', line 111 delegate_to_first_logger :level |
#level= ⇒ Object
Sets the logging severity threshold.
117 |
# File 'lib/kitchen/logger.rb', line 117 delegate_to_all_loggers :level= |
#progname ⇒ String
Returns program name to include in log messages.
121 |
# File 'lib/kitchen/logger.rb', line 121 delegate_to_first_logger :progname |
#progname= ⇒ Object
Sets the program name to include in log messages.
127 |
# File 'lib/kitchen/logger.rb', line 127 delegate_to_all_loggers :progname= |
#unknown { ... } ⇒ nil, true
Log a message with severity of unknown.
264 |
# File 'lib/kitchen/logger.rb', line 264 delegate_to_all_loggers :unknown |
#warn { ... } ⇒ nil, true
Log a message with severity of warn.
228 |
# File 'lib/kitchen/logger.rb', line 228 delegate_to_all_loggers :warn |
#warn? ⇒ true, false
Returns whether or not the current severity level allows for the printing of warn messages.
233 |
# File 'lib/kitchen/logger.rb', line 233 delegate_to_first_logger :warn? |