在 java 中启用日志调试签入

2022-09-03 05:15:26

在这里使用if语句有什么意义?可以在 log4j.xml 配置文件中更改严重性级别。如果严重性级别为“调试”,它将记录调试消息,否则不会。

下面 if 语句的意义是什么?

   if (log.isDebugEnabled())
    {
        log.debug("I am logging something");
    }

答案 1

在您的示例中,不需要“if”语句

但是,如果您采用下面的示例,那么您可以看到我们进行了串联,如果日志级别是信息,那么不必要地完成此串联操作。为了获得更好的性能,我们检查此条件。

if (log.isDebugEnabled())
{
    log.debug("I am logging " + 1234 + ".");
}

额外信息:

使用 slf4j 来避免这种情况。上述语句可以在slf4j中重写如下:

log.debug("I am logging {} .", 1234);

答案 2

这是一种性能优化。这样做是为了避免评估到 的参数。只有在构造日志消息特别昂贵(例如,序列化 XML 文档)时才值得这样做。log.debug

这在 log4j 的简短介绍中有一些详细的介绍。


推荐