1、定义要处理的日志console(输入格式)和File(输出文件)
2、对定义的console进行配置,对File进行配置
例一:每天生成新的日志文件,已日期命名
#相当于定义CONSOLE和RollingFile,如果只设置一种日志文件用此即可
log4j.rootCategory=INFO,CONSOLE,RollingFile
# Set the enterprise logger priority to FATAL
log4j.logger.org.apache.axis2.enterprise=FATAL
log4j.logger.de.hunsicker.jalopy.io=FATAL
log4j.logger.httpclient.wire.header=FATAL
log4j.logger.org.apache.commons.httpclient=FATAL
# 设置CONSOLE输出
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
# 设置输出文件RollingFile的相关属性
log4j.appender.RollingFile=org.apache.log4j.DailyRollingFileAppender
log4j.appender.RollingFile.Threshold=INFO
log4j.appender.RollingFile.File=../logs/log4j.log
log4j.appender.RollingFile.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.RollingFile.Append=true
log4j.appender.RollingFile.layout=org.apache.log4j.PatternLayout
log4j.appender.RollingFile.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
例二:定义特殊的日志文件
#定义shenxian的日志文件(CONSOLE_APPENDER_Shenxian_LOGGER为输出,LOGFILE_APPENDER_Shenxian_LOGGER为日志文件)
log4j.logger.ShenxianLogger=INFO,CONSOLE_APPENDER_Shenxian_LOGGER,LOGFILE_APPENDER_Shenxian_LOGGER
log4j.additivity.ShenxianLogger=false
#设置CONSOLE_APPENDER_Shenxian_LOGGER输出相关信息
log4j.appender.CONSOLE_APPENDER_Shenxian_LOGGER=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE_APPENDER_Shenxian_LOGGER.Threshold=INFO
log4j.appender.CONSOLE_APPENDER_Shenxian_LOGGER.ImmediateFlush=true
log4j.appender.CONSOLE_APPENDER_Shenxian_LOGGER.Target=System.out
log4j.appender.CONSOLE_APPENDER_Shenxian_LOGGER.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE_APPENDER_Shenxian_LOGGER.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
#设置输出文件LOGFILE_APPENDER_Shenxian_LOGGER
log4j.appender.LOGFILE_APPENDER_Shenxian_LOGGER=org.apache.log4j.RollingFileAppender
log4j.appender.LOGFILE_APPENDER_Shenxian_LOGGER.Threshold=INFO
log4j.appender.LOGFILE_APPENDER_Shenxian_LOGGER.File=../logs/ShenxianLogger.log
log4j.appender.LOGFILE_APPENDER_Shenxian_LOGGER.DatePattern='_'yyyy-MM-dd'.log'
log4j.appender.LOGFILE_APPENDER_Shenxian_LOGGER.layout=org.apache.log4j.PatternLayout
log4j.appender.LOGFILE_APPENDER_Shenxian_LOGGER.layout.ConversionPattern=%d [%t] %-5p [%c] - %m%n
第二个例子中我们设置日志log4j.logger.ShenxianLogger,所以在代码引用的时候,定义log对象如下:
private Logger logger = LoggerFactory.getLogger(“ShenxianLogger”);
这样log对象输出的日志就会生成在指定的日志文件中。
org.apache.log4j.RollingFileAppender和org.apache.log4j.DailyRollingFileAppender区别:
多了Daily的会每日都生成日志文件。另外的则只会生成一次日志文件,不会再次生成。
学海无涯苦作舟!!!