Class: WideLogger::DowngradingToDebugLogger

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/wide_logger/downgrading_to_debug_logger.rb

Constant Summary collapse

LEVELS =
%i[info warn error fatal unknown].freeze

Instance Method Summary collapse

Constructor Details

#initialize(logger, threshold:) ⇒ DowngradingToDebugLogger

Returns a new instance of DowngradingToDebugLogger.



9
10
11
12
13
14
15
16
17
# File 'lib/wide_logger/downgrading_to_debug_logger.rb', line 9

def initialize(logger, threshold:)
  super(logger)
  threshold_index = LEVELS.index(threshold)
  LEVELS[0..threshold_index].each do |level|
    define_singleton_method(level) do |msg = nil, &block|
      __getobj__.debug(msg, &block)
    end
  end
end