使用Log4j来记录日志-PatternLayout和格式修饰符

1.PatternLayout

使用log4j总是被他的PatternLayout给吓傻了,以前总是拿着一个可以用的配置到处搬而不太懂什么意思~给大家整理下各个字符表达的什么意思。


官方API地址(看起来也比较简单易懂):

http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/PatternLayout.html



1.1 %m和%n

%m用于输出应用指定的输出内容,%n是一个换行符。 


如上所示,log4j输出了程序的info内容,并且进行了换行


1.2 %d

用于打印日志记录的时间。可以省去括号里面的内容。可以按照给定的格式输出时间


格式和SimpleDateFormat一致,但是官方API说SimpleDateFormat是很低效的,建议使用Log4j自己的日期格式器,使用%d{ABSOLUTE}、%d{DATE}或%d{ISO8601}(默认不写就是这个ISO8601)


我的理解就是直接%d就好了。

1.3 %p

用于输入日志打印的优先级[ERROR、WARN、INFO、DEBUG]


1.4 %F

用于输出调用日志记录的文件的名称。


官方api提醒说获取这个文件位置的信息是很慢的,应该尽量避免使用。


1.5 %c和%C(不太清楚有什么区别)

我自己也不太清楚,就只能看图说话了,感觉用c和C效果是一样的。作用是打印了类的路径。觉得可以替代上面的%F

后面可以跟个花括号进行截取


1.6 %L

用于输出文件的哪一行记录的这个日志。


上图可以看到,是UserController.java的第28行记录了这个日志。官方api也提醒说这个方法会很慢。


其它的以后再补充


2.格式修饰符

2.1 %20p

如果字符串长度少于20个,则在左侧进行空格填充,保证右侧对齐(超过20个就对不齐了)。这里的p可以换成其它的字符


2.2 %-20p

作用同上,但是空格填充在右侧、


2.3 %.3p

如果字符串长度超过3,则对字符串进行截取。从左侧开始截取,不知道怎样才能从右侧开始截取。



2.4 %20.30c

常见用法:如果字符串长度超过30则进行截取,如果低于20则在左侧补充空格

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值