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)


13
14
15
# File 'lib/avm/eac_asciidoctor_base0/logging/catcher.rb', line 13

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]



18
19
20
# File 'lib/avm/eac_asciidoctor_base0/logging/catcher.rb', line 18

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

.onObject



22
23
24
25
26
27
28
29
30
# File 'lib/avm/eac_asciidoctor_base0/logging/catcher.rb', line 22

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