Class: Avm::EacAsciidoctorBase0::Logging::Catcher

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/avm/eac_asciidoctor_base0/logging/catcher.rb

Constant Summary collapse

CATCH_LEVEL =
::Logger::ERROR
LOGGER_METHODS =
%i[unknown fatal error warn info debug].freeze

Class Method Summary collapse

Class Method Details

.level_by_method(method_name) ⇒ Integer

Parameters:

  • (String)

Returns:

  • (Integer)


16
17
18
# File 'lib/avm/eac_asciidoctor_base0/logging/catcher.rb', line 16

def level_by_method(method_name)
  ::Logger.const_get(method_name.to_s.underscore.upcase)
end

.methods_levelsHash<Symbol, Integer]

Returns Hash<Symbol, Integer].

Returns:

  • (Hash<Symbol, Integer])

    Hash<Symbol, Integer]



21
22
23
# File 'lib/avm/eac_asciidoctor_base0/logging/catcher.rb', line 21

def methods_levels
  LOGGER_METHODS.to_h { |method_name| [method_name, level_by_method(method_name)] }
end

.onObject



25
26
27
28
29
30
31
32
33
# File 'lib/avm/eac_asciidoctor_base0/logging/catcher.rb', line 25

def on
  real_logger = ::Asciidoctor::LoggerManager.logger
  begin
    ::Asciidoctor::LoggerManager.logger = new(real_logger)
    yield
  ensure
    ::Asciidoctor::LoggerManager.logger = real_logger
  end
end