Log4j 1.2.15学习笔记

     Log4j发展的真快,2005年用的时候版本是1.2.8。现在再看时发现都出到2.0了,仔细一看,还有点意思,log4j上作了个说明。log4j有3个分支,1.2是稳定版,1.3不再继续,2.0是实验版。
     看来还是用1.2版的比较好,现在的版本是1.2.15,和1.2.8比有很大的变化。从配置文件里反映出来,大的结构都变了。现把要点摘录如下:
     Log4j有3个主要部件,loggers, appenders and layouts.
  •      logger有如下几个级别,排列如下:         DEBUG < INFO < WARN < ERROR < FATAL
    logger引入了继承的概念,这里指的是名称继承,logger com.foo是 com.foo.Bar的父logger。同样java.util是java.util.Vector的父类。
    另外Logger x = Logger.getLogger("wombat"); 和 Logger y = Logger.getLogger("wombat");是指向同一个对象,这样的话不需要到处传递对象的引用。
  •     appender的意思是“输出的目的地”, 它可以是console,file,gui component,JMS,remote socket server,NT Event Log
    任何写log的请求会被传递到这个logger所有的appender那里,同样也会传递到继承关系的上一级的logger的appender那里。appender会随着logger继承关系而附加继承。如果想停止这种附加继承,可以把additivity的标记设为false。
  • layout顾名思义是管输出的格式的,PatternLayout是Log4j的标准输出格式,具体内容请参照javadoc
    简单归纳一下PatternLayout,一般的格式是%+格式修饰符+转换字符。转换字符就是要显示哪些内容,可以参照javadoc查到,格式修饰符的规律如下:
Format modifier left justify minimum width maximum width comment
%20cfalse20noneLeft pad with spaces if the category name is less than 20 characters long.
%-20ctrue20noneRight pad with spaces if the category name is less than 20 characters long.
%.30cNAnone30Truncate from the beginning if the category name is longer than 30 characters.
%20.30cfalse2030Left pad with spaces if the category name is shorter than 20 characters. However, if category name is longer than 30 characters, then truncate from the beginning.
%-20.30ctrue2030Right pad with spaces if the category name is shorter than 20 characters. However, if category name is longer than 30 characters, then truncate from the beginning.
  • 最后贴个例子:
log4j.rootLogger=debug, stdout, R

log4j.appender. stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout

# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n

log4j.appender. R=org.apache.log4j.RollingFileAppender
log4j.appender.R.File=example.log

log4j.appender.R.MaxFileSize= 100KB
# Keep one backup file
log4j.appender.R.MaxBackupIndex=1

log4j.appender.R.layout=org.apache.log4j.PatternLayout
log4j.appender.R.layout.ConversionPattern=%p %t %c - %m%n

  • 补充一点,配置文件要么放在classpath里,不用特殊声明。要么指明路径,如下初始化,一次即可。
	String resource =
"/examples/lf5/InitUsingPropertiesFile/example.properties";
URL configFileResource =
InitUsingPropertiesFile.class.getResource(resource);
PropertyConfigurator.configure(configFileResource);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值