code: private void log(String callerFQCN, Level level, String msg, Throwable t) {
          // millis and thread are filled by the constructor
          LogRecord record = new LogRecord(level, msg);
          record.setLoggerName(getName());
          record.setThrown(t);
          // Note: parameters in record are not set because SLF4J only
          // supports a single formatting style
          fillCallerData(callerFQCN, record);
          loggerImpl.log(record);
      }
docs: Log the message at the specified level with the specified throwable if any.
  This method creates a LogRecord and fills in caller date before calling
  this instance's JDK14 logger.
  
  See bug report #13 for more details.
  
  @param level
  @param msg
  @param t