编程语言

img J2EEMaster

Log4j优化

发表于2004/10/28 14:17:00  658人阅读

有多少人用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时间的原因了,尤其是在大循环的时候。

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

阅读全文
0 0

相关文章推荐

img
取 消
img