Module: SignalWire::Logging

Defined in:
lib/signalwire/logging.rb

Defined Under Namespace

Classes: Logger

Constant Summary collapse

LEVELS =
{ debug: 0, info: 1, warn: 2, error: 3, off: 4 }.freeze

Class Method Summary collapse

Class Method Details

.global_levelObject

Returns the current global log level, derived from:

1. SIGNALWIRE_LOG_MODE=off  -> :off  (suppresses everything)
2. SIGNALWIRE_LOG_LEVEL env  -> the named level
3. Default                   -> :info


11
12
13
# File 'lib/signalwire/logging.rb', line 11

def self.global_level
  @global_level || resolve_level_from_env
end

.global_level=(level) ⇒ Object

Raises:

  • (ArgumentError)


15
16
17
18
19
20
# File 'lib/signalwire/logging.rb', line 15

def self.global_level=(level)
  level = level.to_sym if level.is_a?(String)
  raise ArgumentError, "Unknown log level: #{level}" unless LEVELS.key?(level)

  @global_level = level
end

.logger(name) ⇒ Object

Convenience factory



31
32
33
# File 'lib/signalwire/logging.rb', line 31

def self.logger(name)
  Logger.new(name)
end

.reset!Object



22
23
24
# File 'lib/signalwire/logging.rb', line 22

def self.reset!
  @global_level = nil
end

.suppressed?Boolean

Returns:

  • (Boolean)


26
27
28
# File 'lib/signalwire/logging.rb', line 26

def self.suppressed?
  global_level == :off
end