为什么 Java 记录器需要检查 isDebugEnabled()?

Luậ*_*inh 1 java logging spring spring-boot

为什么java记录器需要检查

if (log.isDebugEnabled()) {
   log.debug("Debug message");
}
Run Code Online (Sandbox Code Playgroud)

而不是直接打电话log.debug("Debug message");

161*_*903 5

事实并非如此。通常,log.isDebugEnabled()当您需要一些额外的代码来记录您想要的内容时,您会调用:

if (log.isDebugEnabled()) {
    for (...) {
        // Some heavy logic that is only needed when logging things
        log.debug("Debug message");
    }
}
Run Code Online (Sandbox Code Playgroud)

这样,您就不会在不需要时触发额外的逻辑。