code: public void log(Level mesgLevel, String mesg, Throwable t) {
          if (mesgLevel.ordinal() >= level.ordinal()) {
              StringBuilder builder = new StringBuilder();
              builder.append(mesgLevel.name());
              builder.append(": [");
              builder.append(simpleClassName != null ? simpleClassName : className);
              builder.append("] [");
              builder.append(Thread.currentThread());
              builder.append("] ");
              builder.append(mesg);
  
              if (mesgLevel == Level.SEVERE) {
                  if (julLogger != null) {
                      julLogger.log(java.util.logging.Level.SEVERE, builder.toString(), t);
                  } else {
                      System.err.println(builder.toString());
                  }
              } else {
                  if (julLogger != null) {
                      julLogger.info(builder.toString());
                  } else {
                      System.out.println(builder.toString());
                  }
              }
  
              if (t != null) {
                  t.printStackTrace();
              }
          }
      }
docs: This method logs a message at the supplied message level
  with an optional exception.
  
  @param mesgLevel The level
  @param mesg The message
  @param t The optional exception