记录调试消息

时间:2014-03-24 10:40:01

标签: java logging log4j

出于好奇,使用上述方法记录(使用log4j)是否有任何好处:

if (LOGGER.isDebugEnabled()) {
     LOGGER.debug("New Session Created");
}

而不仅仅是:

 LOGGER.debug("New Session Created");

它仅仅是一种(潜在的)性能提升,它仍然具有相关性吗?它应该用于包装所有调试输出吗?

感谢您的想法!

1 个答案:

答案 0 :(得分:1)

在您的使用案例中,不,没有任何好处。

但是,如果您正在构建一个新字符串,例如“New Session Create”+ SessionID,那么您需要避免使用字符串构造,而是使用布尔检查。

这是一个小差异,但在大型应用程序中,此字符串构造以及相关的垃圾收集可能会成为性能影响点。但是,如果传递静态字符串,则实际上是在创建重复检查,虽然也很小,但可能会对性能产生影响。