module Concurrent::Concern::Logging

def log(level, progname, message = nil, &block)

Other tags:
    Yieldreturn: - a message

Parameters:
  • message (String, nil) -- when nil block is used to generate the message
  • progname (String) -- e.g. a path of an Actor
  • level (Integer) -- one of Concurrent::Concern::Logging constants
def log(level, progname, message = nil, &block)
  logger = if defined?(@logger) && @logger
             @logger
           else
             Concurrent.global_logger
           end
  logger.call level, progname, message, &block
rescue => error
  $stderr.puts "`Concurrent.global_logger` failed to log #{[level, progname, message, block]}\n" +
    "#{error.message} (#{error.class})\n#{error.backtrace.join "\n"}"
end