org.apache.commons.logging.impl.LogFactoryImpl incompatible with org.apache.commons.logging.LogFactory properties log4j.rootLogger=DEBUG, stdout log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %5p %c{1}:%L - %m%n import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class MyClass { private static final Log log = LogFactory.getLog(MyClass.class); public void doSomething() { log.debug("Debug message"); log.info("Info message"); log.warn("Warning message"); log.error("Error message"); } } import org.apache.commons.logging.Log; public class CustomLogger implements Log { private StringBuilder logMessage = new StringBuilder(); @Override public void debug(Object message) { logMessage.append("[DEBUG] ").append(message.toString()); } @Override public void debug(Object message, Throwable t) { logMessage.append("[DEBUG] ").append(message.toString()); t.printStackTrace(); } @Override public boolean isDebugEnabled() { } @Override public void info(Object message) { logMessage.append("[INFO] ").append(message.toString()); } @Override public void warn(Object message) { logMessage.append("[WARN] ").append(message.toString()); } @Override public void error(Object message) { logMessage.append("[ERROR] ").append(message.toString()); } @Override public void error(Object message, Throwable t) { logMessage.append("[ERROR] ").append(message.toString()); t.printStackTrace(); } public String getLogMessage() { return logMessage.toString(); } } properties org.apache.commons.logging.Log=your.package.CustomLogger


上一篇:
下一篇:
切换中文