Module: Aggro::Logging

Includes:
Logger::Severity
Included in:
Aggregate
Defined in:
lib/aggro/logging.rb

Overview

Private: Mixin for logging concerns.

Instance Method Summary collapse

Instance Method Details

#log(level, progname, message = nil, &block) ⇒ Object



8
9
10
11
12
13
14
# File 'lib/aggro/logging.rb', line 8

def log(level, progname, message = nil, &block)
  (@logger || Aggro.logger).call level, progname, message, &block
rescue => e
  $stderr.puts '`Aggro.logger` failed to log ' \
               "#{[level, progname, message, block].join(' ')}\n" \
               "#{e.message} (#{e.class})\n#{e.backtrace.join "\n"}"
end