[转]log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled()作用

  • 内容
  • 评论
  • 相关

log4j中log.isDebugEnabled(), log.isInfoEnabled()和log.isTraceEnabled()作用
项目在应用log4j打印Debug,Info和Trace级别的log时需要加上对应的三个方法进行过滤,代码如下:

其作用是因为Debug,Info和Trace一般会打印比较详细的信息,而且打印的次数较多,如果我们不加log.isDebugEnabled()等进行预先判断,当系统loglevel设置高于Debug或Info或Trace时,虽然系统不会答应出这些级别的日志,但是每次还是会拼接参数字符串,影响系统的性能。
2.错误的优化方法
部分编码人员因为不了解机制,从代码复用性和简洁性而言定义如下函数来封装

其实这种封装方式是错误的,因为当系统中调用debug(msg)函数还是出现字符串的拼接。

结论:这3个方法是对对项目的优化方法,加这个方法目的地在于如果代码中存在连接字符串的情况,打印信息时会出现太多的拼接字符串影响系统性能。如果系统中是固定字符串加不加都可以。

评论

0条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注