log4j 1.2 配置总结

首先贴一个properties的配置文件,再来解释下参数的意义吧

# Global logging configuration
log4j.rootLogger=ERROR,stdout

# Console output...
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n

# Rolling log file output...
log4j.appender.fileout=org.apache.log4j.DailyRollingFileAppender
log4j.appender.fileout.File=${catalina.base}/logs/common/common.log
log4j.appender.fileout.DatePattern='.'yyyy-MM-dd log4j.appender.fileout.layout=org.apache.log4j.PatternLayout log4j.appender.fileout.layout.ConversionPattern=%d %p [%c] - %m%n #service log4j.logger.com.service= DEBUG, service log4j.appender.service = org.apache.log4j.RollingFileAppender log4j.appender.service.MaxFileSize=5mb log4j.appender.service.Append=true
log4j.appender.fileout.MaxBackupIndex=10 log4j
.appender.service.File=${catalina.base}/logs/service.log log4j.appender.service.layout=org.apache.log4j.PatternLayout log4j.appender.service.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} [%p] - %m%n #system log4j.logger.com.system= DEBUG, system log4j.appender.system= org.apache.log4j.RollingFileAppender log4j.appender.system.MaxFileSize=5mb log4j.appender.system.Append=true log4j.appender.system.File=${catalina.base}/logs/system.log log4j.appender.system.layout=org.apache.log4j.PatternLayout log4j.appender.system.layout.ConversionPattern=%d{yyyy-MM-dd HH\:mm\:ss,SSS} [%p] - %m%n

 

1 .  日志输出 level 一般有6种:trace,debug,info,warn,error,fatal,级别依次升高,但一般常用中间四种

2.  首先定义logger名称,相关配置都以名称为区分

#配置根Logger
log4j.rootLogger = [ level ] , appenderName1 , appenderName2 , …

或者,使用带包名的继承配置

log4j.logger.com.service= [ level ], service
log4j.logger.com.system= [ level ], system

由于Log4j中Logger具有java的继承特性,所以在这个实例中,可以使‘com.service’包下的所有类都可以使用Appender service将[ level ]级别以上的信息输出

3.  Appender 为日志输出目的地,Log4j提供的appender有以下几种:

 

org.apache.log4j.ConsoleAppender    #控制台
org.apache.log4j.FileAppender    #文件
org.apache.log4j.DailyRollingFileAppender    #每天产生一个日志文件
org.apache.log4j.RollingFileAppender    #文件大小到达指定尺寸时产生一个新文件
org.apache.log4j.WriterAppender     #将日志信息以流格式发送到任意指定的地方

 

4.  Layout:日志输出格式,Log4j提供的layout有以下几种:

org.apache.log4j.HTMLLayout    #以HTML表格形式布局
org.apache.log4j.PatternLayout    #可以灵活地指定布局模式
org.apache.log4j.SimpleLayout    #包含日志信息的级别和信息字符串
org.apache.log4j.TTCCLayout    #包含日志产生的时间、线程、类别等等信息

5.  Layout.ConversionPattern

%m   #输出代码中指定的消息
%p   #输出优先级,即DEBUG,INFO,WARN,ERROR,FATAL 
%r   #输出自应用启动到输出该log信息耗费的毫秒数 
%c   #输出所属的类目,通常就是所在类的全名 
%t   #输出产生该日志事件的线程名 
%n   #输出一个回车换行符
%d   #输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比如:%d{yyy MMM dd HH:mm:ss , SSS}
%l   #输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。

6.  Append=true:true表示消息增加到指定文件中,false则将消息覆盖指定的文件内容,默认值是true

7.  File 输出日志文件路径和名称

8.  DatePattern DailyRollingFileAppender时使用

 

 DatePattern=''.''yyyy-ww:每周滚动一次文件,即每周产生一个新的文件。当然也可以指定按月、周、天、时和分。即对应的格式如下:
                    1)''.''yyyy-MM: 每月
                    2)''.''yyyy-ww: 每周 
                    3)''.''yyyy-MM-dd: 每天
                    4)''.''yyyy-MM-dd-a: 每天两次
                    5)''.''yyyy-MM-dd-HH: 每小时
                    6)''.''yyyy-MM-dd-HH-mm: 每分钟 

 

9.  MaxFileSize RollingFileAppender时使用,一旦日志到达一定大小,生成一个新文件

   MaxBackupIndex RollingFileAppender时使用, 表示只保存对应个数个备份文件。

 

posted @ 2014-11-05 22:19  china2k  阅读(529)  评论(0编辑  收藏  举报