code: public static <C> SLF4JLogTemplate<C> toSLF4J(String loggerName, String levelName, String markerName) {
  		if ("debug".equalsIgnoreCase(levelName)) {
  			return new SLF4JLogTemplate.Debug<>(loggerName, markerName);
  		} else if ("info".equalsIgnoreCase(levelName)) {
  			return new SLF4JLogTemplate.Info<>(loggerName, markerName);
  		} else if ("warn".equalsIgnoreCase(levelName)) {
  			return new SLF4JLogTemplate.Warn<>(loggerName, markerName);
  		} else {
  			throw new IllegalArgumentException("Invalid level name " + levelName);
  		}
  	}
docs: Produces a concrete log template which logs messages into a SLF4J Logger.
  
  @param loggerName Logger name
  @param levelName Level name (info, debug, warn, etc.)
  @param markerName Marker name
  @return Logger