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

Instance Method Summary collapse

Methods inherited from FastLogger

#add, #coerce, #debug?, #error?, #fatal?, #info?, #initialize, #level, #level=, #silence, #silence_logger, #warn?, #with_level, #write

Constructor Details

This class inherits a constructor from Lorekeeper::FastLogger

Instance Method Details

#add_fieldsObject



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

def add_fields(*); end

#add_thread_unsafe_fieldsObject



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

def add_thread_unsafe_fields(*); end

#current_fieldsObject

To not raise NoMethodError for the methods defined in JSONLogger



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

def current_fields(*); end

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



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
# File 'lib/lorekeeper/simple_logger.rb', line 61

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



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

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
33
# File 'lib/lorekeeper/simple_logger.rb', line 29

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

#remove_fieldsObject



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

def remove_fields(*); end

#remove_thread_unsafe_fieldsObject



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

def remove_thread_unsafe_fields(*); end

#stateObject



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

def state(*); end