code: def log(self, workunit, level, *msg_elements):
      
      with self._lock:
        for reporter in self._reporters.values():
          reporter.handle_log(workunit, level, *msg_elements)
docs: Log a message.
  
      Each element of msg_elements is either a message string or a (message, detail) pair.