1 package org.grlea.log.adapters.slf4j; 2 3 6 18 import org.grlea.log.SimpleLogger; 19 20 import org.slf4j.Logger; 21 import org.slf4j.ILoggerFactory; 22 23 32 public class 33 Slf4jAdapterFactory 34 implements ILoggerFactory 35 { 36 private static final String SUPRESS_WARNINGS_PROPERTY = 37 "org.grlea.log.adapters.slf4j.supressWarnings"; 38 39 42 public 43 Slf4jAdapterFactory() 44 {} 45 46 public final Logger 47 getLogger(String loggerName) 48 { 49 SimpleLogger newLogger; 50 try 51 { 52 Class loggingClass = Class.forName(loggerName); 53 newLogger = new SimpleLogger(loggingClass); 54 } 55 catch (Exception e) 56 { 57 boolean supressWarnings = false; 58 try 59 { 60 String supressWarningsString = System.getProperty(SUPRESS_WARNINGS_PROPERTY); 61 supressWarnings = 62 supressWarningsString != null && supressWarningsString.toLowerCase().equals("true"); 63 } 64 catch (Exception e1) 65 { 66 System.err.println("WARNING: Simple Log (Slf4jAdapterFA): " + 67 "Failed to read system property '" + SUPRESS_WARNINGS_PROPERTY + "'"); 68 } 69 70 if (!supressWarnings) 71 { 72 System.err.println("WARNING: Simple Log (Slf4jAdapterFA): " + 73 "Failed to find class for logger loggerName '" + loggerName + "'. " + 74 "Using class '" + Logger.class.getName() + "' and instanceId '" + 75 loggerName +"'."); 76 } 77 78 newLogger = new SimpleLogger(Logger.class, loggerName); 79 } 80 81 return new Slf4jAdapter(newLogger, loggerName); 82 } 83 } | Popular Tags |