Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1346882
  • 博文数量: 205
  • 博客积分: 6732
  • 博客等级: 准将
  • 技术积分: 2835
  • 用 户 组: 普通用户
  • 注册时间: 2008-09-04 17:59
文章分类

全部博文(205)

文章存档

2016年(1)

2015年(10)

2014年(1)

2013年(39)

2012年(23)

2011年(27)

2010年(21)

2009年(55)

2008年(28)

我的朋友

分类: Java

2009-01-04 16:04:55

log4j配置文档 log4j.properties

.log4j中有五级logger :
   FATAL 0 ,ERROR 3 ,WARN 4 ,INFO 6 ,DEBUG 7

. 配置根Logger,其语法为:
log4j.rootLogger = [ level ] , appenderName, appenderName, …

其中:
level
:是日志记录的优先级。
appenderName
:就是指定日志信息输出到哪个地方。您可以同时指定多个输出目的地。
1.
配置日志信息输出目的地Appender,其语法为:
log4j.appender.appenderName = fully.qualified.name.of.appender.class
log4j.appender.appenderName.option1 = value1
...
log4j.appender.appenderName.option = valueN
Log4j
提供的appender有以下几种:
org.apache.log4j.ConsoleAppender
(输出到控制台),
org.apache.log4j.FileAppender
(输出到文件),
org.apache.log4j.DailyRollingFileAppender
(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(
文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender
(将日志信息以流格式发送到任意指定的地方)
2.
配置日志信息的格式(布局),其语法为:
log4j.appender.appenderName.layout = fully.qualified.name.of.layout.class
log4j.appender.appenderName.layout.option1 = value1
....
log4j.appender.appenderName.layout.option = valueN
Log4j
提供的layout有以下4种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout
(可以灵活地指定布局模式),其灵活性表现在:
    #%p
输出优先级,即DEBUGINFOWARNERRORFATAL

    #%r 输出自应用启动到输出该log信息耗费的毫秒数

    #%c 输出所属的类目,通常就是所在类的全名

    #%t 输出产生该日志事件的线程名

    #%n 输出一个回车换行符,Windows平台为“\r\n”,Unix平台为“\n

    #%d 输出日志时间点的日期或时间,默认格式为ISO8601,也可以在其后指定格式,比
     
如:%d{yyy MMM dd HH:mm:ss,SSS},输出类似:20021018 221028921

    #%l 输出日志事件的发生位置,包括类目名、发生的线程,以及在代码中的行数。
   
举例:Testlog4.main(TestLog4.java:10)

    #%d {yyyy-MM-dd HH:mm:ss,SSS};

    #%m 消息体

    #%F 类名(*.java)

    #%L 仅仅是发生的行号(如:18)
org.apache.log4j.SimpleLayout
(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout
(包含日志产生的时间、线程、类别等等信息)
3. logger= INFO:
log4j.rootLogger=INFO, A1 ,R
说明:FATAL ERROR WARN INFO ,被输出;DEBUG将被屏蔽掉.
4.logger= WARN:
如果为log4j.rootLogger=WARN, 则意味着只有WARN,ERROR,FATAL被输出,DEBUG,INFO将被屏蔽掉.
5.logger= DEBUG:
 
说明:a.Set root logger level to DEBUG and its only appender to A1
       b.A1 is set to be a ConsoleAppender.

c.所有的日志信息将被输出。
6.
d 时间
log4j.appender.A1.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
7.R
输出到文件 RollingFileAppender的扩展,可以提供一种日志的备份功能。
log4j.appender.R=org.apache.log4j.RollingFileAppender
#
日志文件的名称扩展
log4j.appender.R.File=log4j.log
#
日志文件的大小扩展
log4j.appender.R.MaxFileSize=100KB
#
保存一个备份文件扩展
log4j.appender.R.MaxBackupIndex=1 log4j.appender.R.layout=org.apache.log4j.TTCCLayout
#log4j.appender.R.layout.ConversionPattern=%-d{yyyy-MM-dd HH:mm:ss} [%c]-[%p] %m%n
三、例子:

1. DEBUG
log4j.category.com.dw.xpk=DEBUG,A1

log4j.appender.A1=org.apache.log4j.ConsoleAppender

log4j.appender.A1.layout=org.apache.log4j.PatternLayout

log4j.appender.A1.layout.ConversionPattern=%d %5p - %m %n

2. INFO
log4j.category.org.hibernate=INFO,HB

log4j.appender.HB=org.apache.log4j.ConsoleAppender

log4j.appender.HB.layout=org.apache.log4j.PatternLayout

log4j.appender.HB.layout.ConversionPattern=%d %5p - %m %n

3. INFOINFO的扩展:
log4j.logger.org.apache.log4j.examples=INFO, A2,R

log4j.appender.A2=org.apache.log4j.FileAppender

log4j.appender.A2.File=${user.home}/test

log4j.appender.A2.Append=false

log4j.appender.A2.layout=org.apache.log4j.PatternLayout

log4j.appender.A2.layout.ConversionPattern=%5r %-5p [%t] %c{2} - %m%n

阅读(1535) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-02-26 17:21:48

啊,又看到这篇文章,还有我留言嘎嘎

chinaunix网友2009-11-16 14:37:14

不错呵呵,受益了,纪雨