Module: R2::Logging

Defined in:
lib/r2/logging.rb

Overview

Builds and configures loggers used for diagnostics.

Defined Under Namespace

Classes: NullLogger

Class Method Summary collapse

Class Method Details

.build(verbose: false, output: $stderr) ⇒ Logger, NullLogger

Builds a logger according to the requested verbosity.

Parameters:

  • verbose (Boolean) (defaults to: false) —

    whether detailed output is enabled

  • output (IO) (defaults to: $stderr) —

    destination of the diagnostic messages

Returns:



25
26
27
28
29
30
31
32
# File 'lib/r2/logging.rb', line 25

def self.build(verbose: false, output: $stderr)
    return NullLogger.new unless verbose

    Logger.new(output).tap do |log|
        log.level = Logger::DEBUG
        log.formatter = proc { |_severity, _datetime, _progname, message| "#{message}\n" }
    end
end