Class: LogStruct::Level

Inherits:
T::Enum
  • Object
show all
Extended by:
T::Sig
Defined in:
lib/log_struct/enums/level.rb

Overview

Define log levels as an enum

Constant Summary collapse

Debug =

Standard log levels

new(:debug)
Info =
new(:info)
Warn =
new(:warn)
Error =
new(:error)
Fatal =
new(:fatal)
Unknown =
new(:unknown)

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.from_severity(severity) ⇒ Level

Convert a string or integer severity to a Level

Parameters:

  • severity (String, Symbol, Integer, nil)

Returns:



36
37
38
39
40
# File 'lib/log_struct/enums/level.rb', line 36

def self.from_severity(severity)
  return Unknown if severity.nil?
  return from_severity_int(severity) if severity.is_a?(Integer)
  from_severity_sym(severity.downcase.to_sym)
end

.from_severity_int(severity) ⇒ Level

Parameters:

  • severity (Integer)

Returns:



55
56
57
58
59
60
61
62
63
64
# File 'lib/log_struct/enums/level.rb', line 55

def self.from_severity_int(severity)
  case severity
  when ::Logger::DEBUG then Debug
  when ::Logger::INFO then Info
  when ::Logger::WARN then Warn
  when ::Logger::ERROR then Error
  when ::Logger::FATAL then Fatal
  else Unknown
  end
end

.from_severity_sym(severity) ⇒ Level

Parameters:

  • severity (Symbol)

Returns:



43
44
45
46
47
48
49
50
51
52
# File 'lib/log_struct/enums/level.rb', line 43

def self.from_severity_sym(severity)
  case severity.to_s.downcase.to_sym
  when :debug then Debug
  when :info then Info
  when :warn then Warn
  when :error then Error
  when :fatal then Fatal
  else Unknown
  end
end

Instance Method Details

#to_severity_intInteger

Convert a Level to the corresponding Logger integer constant

Returns:

  • (Integer)


23
24
25
26
27
28
29
30
31
32
# File 'lib/log_struct/enums/level.rb', line 23

def to_severity_int
  case serialize
  when :debug then ::Logger::DEBUG
  when :info then ::Logger::INFO
  when :warn then ::Logger::WARN
  when :error then ::Logger::ERROR
  when :fatal then ::Logger::FATAL
  else ::Logger::UNKNOWN
  end
end