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的会每日都生成日志文件。另外的则只会生成一次日志文件,不会再次生成。
学海无涯苦作舟!!!



