Class: Telemetry::Logger::ConsoleLogger
- Inherits:
-
Object
- Object
- Telemetry::Logger::ConsoleLogger
- Includes:
- Levels
- Defined in:
- lib/telemetry/logger/console_logger.rb
Defined Under Namespace
Modules: Defaults
Instance Attribute Summary collapse
-
#device ⇒ Object
readonly
Returns the value of attribute device.
-
#level ⇒ Object
Returns the value of attribute level.
-
#level_number ⇒ Object
readonly
Returns the value of attribute level_number.
-
#name ⇒ Object
readonly
Returns the value of attribute name.
Class Method Summary collapse
Instance Method Summary collapse
- #format(message, level) ⇒ Object
- #format_metadata(text) ⇒ Object
-
#initialize(name, device) ⇒ ConsoleLogger
constructor
A new instance of ConsoleLogger.
- #write(message) ⇒ Object
Methods included from Levels
build_level_index, define_level, #implementer, included, level_index, #level_index, levels, #metadata, #omit?, #optional_level?, #ordinal, #sufficient_level?, #write_level, #write_message
Constructor Details
#initialize(name, device) ⇒ ConsoleLogger
Returns a new instance of ConsoleLogger.
34 35 36 37 |
# File 'lib/telemetry/logger/console_logger.rb', line 34 def initialize(name, device) @name = name @device = device end |
Instance Attribute Details
#device ⇒ Object (readonly)
Returns the value of attribute device.
7 8 9 |
# File 'lib/telemetry/logger/console_logger.rb', line 7 def device @device end |
#level ⇒ Object
Returns the value of attribute level.
9 10 11 |
# File 'lib/telemetry/logger/console_logger.rb', line 9 def level @level end |
#level_number ⇒ Object (readonly)
Returns the value of attribute level_number.
10 11 12 |
# File 'lib/telemetry/logger/console_logger.rb', line 10 def level_number @level_number end |
#name ⇒ Object (readonly)
Returns the value of attribute name.
6 7 8 |
# File 'lib/telemetry/logger/console_logger.rb', line 6 def name @name end |
Class Method Details
.build(subject) ⇒ Object
14 15 16 17 18 19 20 21 |
# File 'lib/telemetry/logger/console_logger.rb', line 14 def self.build(subject) name = logger_name(subject) device = Defaults.device instance = new(name, device) instance.level = Defaults.level Clock::Local.configure instance instance end |
.logger_name(subject) ⇒ Object
23 24 25 26 27 28 29 30 31 32 |
# File 'lib/telemetry/logger/console_logger.rb', line 23 def self.logger_name(subject) if subject.is_a?(Class) || subject.is_a?(Module) name = subject.name elsif subject.is_a? String name = subject else name = subject.class.name end name end |
Instance Method Details
#format(message, level) ⇒ Object
44 45 46 47 |
# File 'lib/telemetry/logger/console_logger.rb', line 44 def format(, level) return if Defaults.color == 'off' Telemetry::Logger::Color.apply(level, ) end |
#format_metadata(text) ⇒ Object
49 50 51 52 |
# File 'lib/telemetry/logger/console_logger.rb', line 49 def (text) return text if Defaults.color == 'off' Telemetry::Logger::Color.(text) end |
#write(message) ⇒ Object
39 40 41 42 |
# File 'lib/telemetry/logger/console_logger.rb', line 39 def write() return if Defaults.activation == 'off' device.write "#{}#{$INPUT_RECORD_SEPARATOR}" end |