log4j学习笔记

1)用法
private static Logger logger = logger1.getLogger(TheClass.class);  //声明成员
BasicConfigurator.configure();                                                                         //初始配置,一般放在类的构造方法里

//log4j.properties
log4j.rootLogger=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.Threshold=ERROR
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%p [%t] %c{2} (%M:%L) - %m%n

log4j.logger.org.apache.log4j.examples=INFO, A2
log4j.appender.A2=org.apache.log4j.FileAppender
log4j.appender.A2.File=${user.home}/test
log4j.appender.A2.layout=org.apache.log4j.PatternLayout
log4j.appender.A2.layout.ConversionPattern=%5r %-5p [%t] %c{2} - %m%n

#log4j.appender.A2.Append=false

2) Log4j提供的appender有以下几种:
org.apache.log4j.ConsoleAppender(控制台),
org.apache.log4j.FileAppender(文件),
org.apache.log4j.DailyRollingFileAppender(每天产生一个日志文件),
org.apache.log4j.RollingFileAppender(文件大小到达指定尺寸的时候产生一个新的文件),
org.apache.log4j.WriterAppender(将日志信息以流格式发送到任意指定的地方)

3) Log4j提供的layout有以下几种:
org.apache.log4j.HTMLLayout(以HTML表格形式布局),
org.apache.log4j.PatternLayout(可以灵活地指定布局模式),
org.apache.log4j.SimpleLayout(包含日志信息的级别和信息字符串),
org.apache.log4j.TTCCLayout(包含日志产生的时间、线程、类别等等信息)
关于PatternLayout的详细参数说明,可参见http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html

4)所有的logger level的顺序是:ALL < DEBUG < INFO < WARN < ERROR < FATAL < OFF.

另外,在每一个类里都要写一个静态成员logger还要调用配置,是一件很麻烦的事。用一个超类或接口来包含这些代码,其他类来继承和实现。但是这是行不通的,因为Logger.getLogger()是静态方法,其参数不能用this。继承也不太好,虽然技术上可行,但觉得破坏了is-a的继承原意。算了,还是每个类里都加吧,反正还可以用模板偷懒呢。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值