class SemanticLogger::Appender::Async

def submit_request(command)

Submit command and wait for reply
def submit_request(command)
  return false unless active?
  queue_size = queue.size
  msg        = "Async: Queued log messages: #{queue_size}, running command: #{command}"
  if queue_size > 1_000
    logger.warn msg
  elsif queue_size > 100
    logger.info msg
  elsif queue_size.positive?
    logger.trace msg
  end
  reply_queue = Queue.new
  queue << {command: command, reply_queue: reply_queue}
  reply_queue.pop
end