对Log4j封装的一些想法
在进入,退出方法时针对方法的输入参数和返回值进行log,log中含有方法信息
logDebugOnMethodEntry, logDebugOnMethodExit
?
如果log级别设置的是info,会把warning,error,fatal都打出来,各个级别不能单独控制。增加各级别分开控制开关。
可以定制log信息的pattern,这样会看起来很统一,log分析起来也容易logDebug(String pattern, Object... paramValues);
还有一个好处,不需要预先把相关String都append起来,提高performance
结合第三点,这样就避免了Object的toString和String的concat操作。
每次记log时,log4j都需要判断这个级别是否可以打log。如果logger的每个级别都有对应的logger实例,如果debug level被关了,debug级别对应的实例就是EmptyLogger,EmptyLogger里面所有方法的实现都是空的,就不需要这额外的判断了。
?
