log4j 入门实例 (三) 输出布局(layout)

log4j提供了以下几种layout
- org.apache.log4j.HTMLLayout (以HTML表格形式布局)
- org.apache.log4j.SimpleLayout (包含日志信息的级别和信息字符串)
- org.apache.log4j.TTCCLayout (包含日志产生的时间,执行绪,类别等信息。)
- org.apache.log4j.PatternLayout (可以灵活的指定布局模式)


这里看一下SimpleLayout的输出:

DEBUG - In the main method
INFO - This is info message
ERROR - This is error message
FATAL - This is fatal message

只有级别和信息被显示了出来

这里的难点是日志信息的样式的自定义。
自定义是通过log4j的转换字符实现的。具体信息在[url]http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html[/url]

[b]自定义实例1:[/b]
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=%r [%t] %p %c %l %m%n
这个设定会输出以下的console信息:
0 [main] DEBUG com.lj.log4j.HelloLog4J com.lj.log4j.HelloLog4J.main(HelloLog4J.java:12) In the main method
4 [main] INFO com.lj.log4j.HelloLog4J com.lj.log4j.HelloLog4J.main(HelloLog4J.java:13) This is info message
5 [main] ERROR com.lj.log4j.HelloLog4J com.lj.log4j.HelloLog4J.main(HelloLog4J.java:14) This is error message
5 [main] FATAL com.lj.log4j.HelloLog4J com.lj.log4j.HelloLog4J.main(HelloLog4J.java:15) This is fatal message

%r -表示从创建该layout到该事件发生之间所经过的时间
[%t] -中括号没有特殊意义,表示就那么放在信息中。 %t表示执行该事件的线程的名称
%p -表示该日志事件的优先级, 比如INFO ,DEBUG
%c -表示该事件所在的完整类别名。 这里如果写%c{1},就会显示为HelloLog4J,就没有包名了。
%m -输出日志信息
%n -换行符


[b]自定义实例2:[/b]
log4j.appender.appender2=org.apache.log4j.ConsoleAppender
log4j.appender.appender2.layout=org.apache.log4j.PatternLayout
log4j.appender.appender2.layout.ConversionPattern=[%d{yy/MM/dd HH:mm:ss:SSS}][%C-%M]%m%n

上面的代码会生成以下的log信息:
hello log4j
[13/12/12 19:20:17:802][com.lj.log4j.HelloLog4J-main]In the main method
[13/12/12 19:20:17:807][com.lj.log4j.HelloLog4J-main]This is info message
[13/12/12 19:20:17:807][com.lj.log4j.HelloLog4J-main]This is error message
[13/12/12 19:20:17:807][com.lj.log4j.HelloLog4J-main]This is fatal message

前面的是日期格式, 是由%d{}设定的。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值