module Concurrent

def self.create_simple_logger(level = :FATAL, output = $stderr)

Create a simple logger with provided level and output.
def self.create_simple_logger(level = :FATAL, output = $stderr)
  level = Concern::Logging.const_get(level) unless level.is_a?(Integer)
  # TODO (pitr-ch 24-Dec-2016): figure out why it had to be replaced, stdlogger was deadlocking
  lambda do |severity, progname, message = nil, &block|
    return false if severity < level
    message           = block ? block.call : message
    formatted_message = case message
                        when String
                          message
                        when Exception
                          format "%s (%s)\n%s",
                                 message.message, message.class, (message.backtrace || []).join("\n")
                        else
                          message.inspect
                        end
    output.print format "[%s] %5s -- %s: %s\n",
                        Time.now.strftime('%Y-%m-%d %H:%M:%S.%L'),
                        Concern::Logging::SEV_LABEL[severity],
                        progname,
                        formatted_message
    true
  end
end