code: @Override
    public void log(Level level, Object message, Throwable e) {
      org.apache.log4j.Level pLevel = org.apache.log4j.Level.DEBUG;
  
      switch (level == null ? Level.FATAL : level) {
      case TRACE:
        pLevel = org.apache.log4j.Level.TRACE;
        break;
      case DEBUG:
        pLevel = org.apache.log4j.Level.DEBUG;
        break;
      case INFO:
        pLevel = org.apache.log4j.Level.INFO;
        break;
      case WARN:
        pLevel = org.apache.log4j.Level.WARN;
        break;
      case ERROR:
        pLevel = org.apache.log4j.Level.ERROR;
        break;
      case FATAL:
        pLevel = org.apache.log4j.Level.FATAL;
        break;
      default:
        // I don't know what this is, so consider it fatal
        pLevel = org.apache.log4j.Level.FATAL;
        l4jLogger.log("net.spy.compat.log.AbstractLogger", pLevel, "Unhandled "
            + "log level:  " + level + " for the following message", null);
      }
      l4jLogger.log("net.spy.compat.log.AbstractLogger", pLevel, message, e);
    }
docs: Wrapper around log4j.
  
  @param level net.spy.compat.log.Level level.
  @param message object message
  @param e optional throwable