Module: Concurrent::Logging

Includes:
Logger::Severity
Included in:
Concurrent, Actor::Core, Agent, RubyExecutor, SerializedExecution
Defined in:
lib/concurrent/logging.rb

Overview

Include where logging is needed

Instance Method Summary collapse

Instance Method Details

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

Logs through Configuration#logger, it can be overridden by setting @logger

Yield Returns:

  • (String)

    a message



13
14
15
16
17
18
# File 'lib/concurrent/logging.rb', line 13

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