启用日志调试检查java

use*_*434 10 java logging log4j

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

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

   if (log.isDebugEnabled())
    {
        log.debug("I am logging something");
    }
Run Code Online (Sandbox Code Playgroud)

Sri*_*r G 18

在您的示例中,不需要'if'语句('if'不是循环之间)

但是如果你采用下面的例子,那么你可以看到我们进行连接,如果日志级别是信息,则不必要地进行这种连接操作.为了更好的性能,我们检查这种情况

if (log.isDebugEnabled())
{
    log.debug("I am logging " + 1234 + ".");
}
Run Code Online (Sandbox Code Playgroud)

额外信息:

使用slf4j来避免这种情况.上面的语句可以在slf4j中重写如下,

log.debug("I am logging {} .", 1234);
Run Code Online (Sandbox Code Playgroud)

  • SLF4J +1。没有太多人强调这样一个很酷的功能。 (2认同)
  • 另一方面,我们可以讨论什么具有更好的性能-一个`if`(+1 getter)或几个方法调用以确定调试是启用还是禁用... (2认同)