读书人

对Log4j打包的一些想法

发布时间: 2012-11-06 14:07:00 作者: rapoo

对Log4j封装的一些想法

  1. Log4j debug log api不够丰富

在进入,退出方法时针对方法的输入参数和返回值进行log,log中含有方法信息

logDebugOnMethodEntry, logDebugOnMethodExit

?

  1. log级别问题

如果log级别设置的是info,会把warning,error,fatal都打出来,各个级别不能单独控制。增加各级别分开控制开关。

  1. log格式的定制

可以定制log信息的pattern,这样会看起来很统一,log分析起来也容易logDebug(String pattern, Object... paramValues);

还有一个好处,不需要预先把相关String都append起来,提高performance

  1. log.isDebugEnabled();

结合第三点,这样就避免了Object的toString和String的concat操作。

  1. EmptyLogger

每次记log时,log4j都需要判断这个级别是否可以打log。如果logger的每个级别都有对应的logger实例,如果debug level被关了,debug级别对应的实例就是EmptyLogger,EmptyLogger里面所有方法的实现都是空的,就不需要这额外的判断了。

?

对Log4j打包的一些想法

读书人网 >软件架构设计

热点推荐