Log4j优化

王朝java/jsp·作者佚名  2006-01-09
窄屏简体版  字體: |||超大  

有多少人用Log4j的时候会在每一个Debug/Info之前加一个判断?

可能很多人都说了,这有什么关系,我在运行的时候是把Log Level设置成Error的。

那么请看下面这个代码:

String result;

...

...

...

logger.debug(”result is” + result );

再看看这个代码:

String result;

...

...

...

if(logger.isDebugEnabled())

{

logger.debug(”result is” + result );

}

把Log Level设置成ERROR,运行结果又区别吗?没有!!

程序的性能有区别吗?区别大了!!!

因为什么呢?

虽然第一段代码也不产生Log输出,但是debug()里面的字符串变量是实例化了,明白了吗?

这个就是为什么很多人抱怨Log4j占用很大CPU时间的原因了,尤其是在大循环的时候。

赶快在你的程序中加上这样的判断条件吧。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航