Module: Log4j2LoggerBridge::RubyLoggerInitializationMethods

Included in:
Log4j2LoggerBridge
Defined in:
lib/log4j2_logger_bridge/ruby_logger_initialization_methods.rb

Overview

The RubyLoggerInitializationMethods module

Constant Summary collapse

TRACE_STRING =
'TRACE'.freeze
TRACE_SEVERITY =
-1

Instance Method Summary collapse

Instance Method Details

#init_ruby_logger_backendObject



13
14
15
16
17
18
19
20
# File 'lib/log4j2_logger_bridge/ruby_logger_initialization_methods.rb', line 13

def init_ruby_logger_backend
  ruby_logger = Logger.new($stdout)
  ruby_logger.formatter = method(:ruby_formatter)
  @backend = ruby_logger
  install_trace_level!
  apply_backend_level(log_level)
  ruby_logger
end

#install_trace_level!(sev = ::Logger::Severity) ⇒ Object

rubocop: disable Metrics/MethodLength



35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
# File 'lib/log4j2_logger_bridge/ruby_logger_initialization_methods.rb', line 35

def install_trace_level!(sev = ::Logger::Severity)
  sev.const_set(:TRACE, TRACE_SEVERITY) unless sev.const_defined?(:TRACE)

  ::Logger.class_eval do
    unless method_defined?(:trace)
      def trace(progname = nil, &block)
        add(sev::TRACE, nil, progname, &block)
      end
    end

    unless method_defined?(:trace?)
      def trace?
        level <= sev::TRACE
      end
    end
  end
end

#ruby_formatter(severity, datetime, _progname, msg) ⇒ Object



22
23
24
25
26
27
# File 'lib/log4j2_logger_bridge/ruby_logger_initialization_methods.rb', line 22

def ruby_formatter(severity, datetime, _progname, msg)
  category = (Thread.current[:logging_category] || app_name).to_s
  timestamp = datetime.strftime(timestamp_format)
  format(ruby_log_format, timestamp: timestamp,
    severity: severity_label(severity), category: category, msg: msg)
end

#severity_label(severity) ⇒ Object



29
30
31
32
# File 'lib/log4j2_logger_bridge/ruby_logger_initialization_methods.rb', line 29

def severity_label(severity)
  return TRACE_STRING if severity == ::Logger::Severity::TRACE
  ::Logger::SEV_LABEL[severity] || severity.to_s
end