Module: Lumberjack::Severity

Defined in:
lib/lumberjack/severity.rb

Overview

The standard severity levels for logging messages.

Defined Under Namespace

Classes: Data

Constant Summary collapse

TRACE =

Custom severity level for trace messages, lower than DEBUG.

-1
DEBUG =
Logger::Severity::DEBUG
INFO =
Logger::Severity::INFO
WARN =
Logger::Severity::WARN
ERROR =
Logger::Severity::ERROR
FATAL =
Logger::Severity::FATAL
UNKNOWN =
Logger::Severity::UNKNOWN

Class Method Summary collapse

Class Method Details

.coerce(value) ⇒ Integer

Coerce a value to a severity level.

Parameters:

  • value (Integer, String, Symbol)

    The value to coerce.

Returns:

  • (Integer)

    The severity level.



66
67
68
69
70
71
72
# File 'lib/lumberjack/severity.rb', line 66

def coerce(value)
  if value.is_a?(Numeric)
    value.to_i
  else
    label_to_level(value)
  end
end

.data(level) ⇒ SeverityData

Return a data object that maps the severity level to variations on the label.

Parameters:

  • level (Integer, String, Symbol)

    The severity level.

Returns:

  • (SeverityData)

    The severity data object.



78
79
80
# File 'lib/lumberjack/severity.rb', line 78

def data(level)
  SEVERITIES[coerce(level) + 1] || SEVERITIES.last
end

.label_to_level(label) ⇒ Integer

Convert a severity label to a level.

Parameters:

  • label (String, Symbol)

    The severity label to convert.

Returns:

  • (Integer)

    The severity level.



57
58
59
60
# File 'lib/lumberjack/severity.rb', line 57

def label_to_level(label)
  label = label.to_s.upcase
  (SEVERITY_LABELS.index(label) || UNKNOWN + 1) - 1
end

.level_to_label(severity) ⇒ String

Convert a severity level to a label.

Parameters:

  • severity (Integer)

    The severity level to convert.

Returns:

  • (String)

    The severity label.



49
50
51
# File 'lib/lumberjack/severity.rb', line 49

def level_to_label(severity)
  SEVERITIES[severity + 1]&.label || SEVERITIES.last.label
end