code: public static Logger getLogger(Class<?> clazz) {
          Logger logger = getLogger(clazz.getName());
          if (DETECT_LOGGER_NAME_MISMATCH) {
              Class<?> autoComputedCallingClass = Util.getCallingClass();
              if (autoComputedCallingClass != null && nonMatchingClasses(clazz, autoComputedCallingClass)) {
                  Util.report(String.format("Detected logger name mismatch. Given name: \"%s\"; computed name: \"%s\".", logger.getName(),
                                  autoComputedCallingClass.getName()));
                  Util.report("See " + LOGGER_NAME_MISMATCH_URL + " for an explanation");
              }
          }
          return logger;
      }
docs: Return a logger named corresponding to the class passed as parameter,
  using the statically bound {@link ILoggerFactory} instance.
  
  <p>
  In case the the <code>clazz</code> parameter differs from the name of the
  caller as computed internally by SLF4J, a logger name mismatch warning
  will be printed but only if the
  <code>slf4j.detectLoggerNameMismatch</code> system property is set to
  true. By default, this property is not set and no warnings will be
  printed even in case of a logger name mismatch.
  
  @param clazz
  the returned logger will be named after clazz
  @return logger
  
  
  @see <a
  href="http://www.slf4j.org/codes.html#loggerNameMismatch">Detected
  logger name mismatch</a>