Class: Lorekeeper::SimpleLogger

Inherits:
FastLogger show all
Defined in:
lib/lorekeeper/simple_logger.rb

Overview

Simple logger provides a logger which outputs messages in a colorized simple text format.

Constant Summary collapse

COLOR_DEFAULT =

From misc.flogisoft.com/bash/tip_colors_and_formatting 39: default for the theme 33: yellow 31: red 37: light gray

'39'
COLOR_YELLOW =
'33'
COLOR_RED =
'31'
COLOR_LIGHT_GRAY =
'37'
SEVERITY_TO_COLOR_MAP =
{
  DEBUG => COLOR_DEFAULT,
  INFO => COLOR_DEFAULT,
  WARN => COLOR_YELLOW,
  ERROR => COLOR_RED,
  FATAL => COLOR_RED,
  UNKNOWN => COLOR_LIGHT_GRAY
}.freeze

Constants inherited from FastLogger

FastLogger::LOGGING_METHODS, FastLogger::METHOD_SEVERITY_MAP, FastLogger::SEVERITY_NAMES_MAP

Instance Attribute Summary

Attributes inherited from FastLogger

#formatter, #level

Instance Method Summary collapse

Methods inherited from FastLogger

#add, #debug?, #error?, #fatal?, #info?, #initialize, #silence, #silence_logger, #warn?, #write

Constructor Details

This class inherits a constructor from Lorekeeper::FastLogger

Instance Method Details

#add_fieldsObject



51
# File 'lib/lorekeeper/simple_logger.rb', line 51

def add_fields(*); end

#add_thread_unsafe_fieldsObject



49
# File 'lib/lorekeeper/simple_logger.rb', line 49

def add_thread_unsafe_fields(*); end

#current_fieldsObject

To not raise NoMethodError for the methods defined in JSONLogger



47
# File 'lib/lorekeeper/simple_logger.rb', line 47

def current_fields(*); end

#exception(exception, custom_message = nil, custom_data = nil, custom_level = :error, message: nil, data: nil, level: nil) ⇒ Object



54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# File 'lib/lorekeeper/simple_logger.rb', line 54

def exception(exception, custom_message = nil, custom_data = nil, custom_level = :error,
                         message: nil, data: nil, level: nil)

  param_level = level || custom_level
  param_data = data || custom_data
  param_message = message || custom_message

  log_level = METHOD_SEVERITY_MAP[param_level] || ERROR

  if exception.is_a?(Exception)
    message = param_message || exception.message
    backtrace = "\n\nstack:\n#{exception.backtrace.join("\n")}" if exception.backtrace
    data = "\n\ndata:\n#{param_data}" if param_data
    log_data(log_level, "#{exception.class}: #{exception.message}; #{message} #{backtrace} #{data}")
  else
    log_data(METHOD_SEVERITY_MAP[:warn], 'Logger exception called without exception class.')
    error_with_data("#{exception.class}: #{exception.inspect} #{param_message}", param_data)
  end
end

#inspectObject



34
35
36
# File 'lib/lorekeeper/simple_logger.rb', line 34

def inspect
  "Lorekeeper Simple logger. IO: #{@file.inspect}"
end

#log_data(severity, message) ⇒ Object

e[colorm sets a color e[0m resets all properties



29
30
31
32
# File 'lib/lorekeeper/simple_logger.rb', line 29

def log_data(severity, message)
  color = SEVERITY_TO_COLOR_MAP[severity]
  write("\e[#{color}m#{message.gsub('\n', "\n").gsub('\t', "\t")}\e[0m\n")
end

#remove_fieldsObject



52
# File 'lib/lorekeeper/simple_logger.rb', line 52

def remove_fields(*); end

#remove_thread_unsafe_fieldsObject



50
# File 'lib/lorekeeper/simple_logger.rb', line 50

def remove_thread_unsafe_fields(*); end

#stateObject



48
# File 'lib/lorekeeper/simple_logger.rb', line 48

def state(*); end