日志依赖包:log4j-1.2.9.jar , commons-logging.jar
log4j.properties
###############################################################################
# Split into log4jUnix.properties and log4jXP.properties
###############################################################################
### set log levels ###
log4j.rootLogger = DEBUG,stdout,testError,testDebug
###############################################################################
# Logging for console
###############################################################################
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 = %l %d{yyyy-MM-dd HH:mm:ss} %5p %c - %m%n
###############################################################################
# Logging for testDebug
###############################################################################
log4j.category.testDebug =DEBUG, testDebug
log4j.additivity.testDebug =false
log4j.appender.testDebug.threshold =DEBUG
log4j.appender.testDebug =org.apache.log4j.RollingFileAppender
log4j.appender.testDebug.File =C\:\\work\\testLog\\testDebug.log
log4j.appender.testDebug.MaxFileSize =5000KB
log4j.appender.testDebug.MaxBackupIndex =10
log4j.appender.testDebug.layout =org.apache.log4j.PatternLayout
log4j.appender.testDebug.layout.ConversionPattern =%l %d %-5p %c{2} %x %m %n
###############################################################################
# Logging for testError
###############################################################################
log4j.category.testError =DEBUG, testError
log4j.additivity.testError =false
log4j.appender.testError.threshold =DEBUG
log4j.appender.testError =org.apache.log4j.RollingFileAppender
log4j.appender.testError.File =C\:\\work\\testLog\\testError.log
log4j.appender.testError.MaxFileSize =5000KB
log4j.appender.testError.MaxBackupIndex =10
log4j.appender.testError.layout =org.apache.log4j.PatternLayout
log4j.appender.testError.layout.ConversionPattern =%l %d %-5p %c{2} %x %m %n
LoggerServiceFactory.java
package com.fuying.log4j;
import org.apache.log4j.Logger;
import org.apache.log4j.PropertyConfigurator;
public class LoggerServiceFactory {
private static LoggerServiceFactory instance = null;
//私有化构造器,适用单例
private LoggerServiceFactory(){
}
//公共的创建实例方法,供其他类使用
public static LoggerServiceFactory getInstance(){
if(instance == null){
instance = new LoggerServiceFactory();
PropertyConfigurator.configure("log4j.properties");
}
return instance;
}
//日志对象
public Logger getLogger(String loggerName) {
Logger logger = Logger.getLogger(loggerName);
return logger;
}
}
测试类:TestLog4j.java
public class TestLog4j { public static void main(String[] args) { Logger debugLogger = LoggerServiceFactory.getInstance().getLogger("testDebug"); Logger errorLogger = LoggerServiceFactory.getInstance().getLogger("testError"); debugLogger.debug( " debugLogger debug...... " ); debugLogger.error( " debugLogger error...... " ); errorLogger.debug( " errorLogger debug...... " ); errorLogger.error( " errorLogger error...... " ); } }