class Telemetry::Logger::ConsoleLogger

Attributes

device[R]
level[R]
level_number[R]
name[R]

Public Class Methods

build(subject) click to toggle source
# 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) click to toggle source
# 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
new(name, device) click to toggle source
# File lib/telemetry/logger/console_logger.rb, line 34
def initialize(name, device)
  @name = name
  @device = device
end

Public Instance Methods

format(message, level) click to toggle source
# File lib/telemetry/logger/console_logger.rb, line 44
def format(message, level)
  return message if Defaults.color == 'off'
  Telemetry::Logger::Color.apply(level, message)
end
format_metadata(text) click to toggle source
# File lib/telemetry/logger/console_logger.rb, line 49
def format_metadata(text)
  return text if Defaults.color == 'off'
  Telemetry::Logger::Color.metadata(text)
end
level=(level) click to toggle source
# File lib/telemetry/logger/console_logger.rb, line 54
def level=(level)
  index = ordinal(level)

  raise "Unknown logger level: #{level}" unless index

  @level_number = index
  @level = level
end
write(message) click to toggle source
# File lib/telemetry/logger/console_logger.rb, line 39
def write(message)
  return if Defaults.activation == 'off'
  device.write "#{message}#{$INPUT_RECORD_SEPARATOR}"
end