gpt4 book ai didi

java - Log4J:isDebugEnabled() 方法有问题

转载 作者:搜寻专家 更新时间:2023-11-01 02:17:26 25 4
gpt4 key购买 nike

我正在努力使用 Log4J 和 isDebugEnabled() 方法。

当我执行时:

package org.test;

import org.apache.log4j.Level;
import org.apache.log4j.Logger;

public class Test {
public static Logger logger = Logger.getLogger(Test.class.getName());

public static void main(String[] args) { (new Test()).test(); }

public void test() {
System.out.println("Logger " + logger.getName());
System.out.println("level: " + logger.getLevel());
logger.setLevel(Level.DEBUG);
System.out.println("level: " + logger.getLevel());
System.out.println("debug? " + logger.isDebugEnabled());
}
}

我得到:

Logger org.test.Test
level: null
level: DEBUG
debug? false

记录器级别显然是DEBUG,但是logger.isDebugEnabled() 返回false。您知道如何解决这个问题吗?

编辑:我已经尝试使用其他版本的 log4j 和 Level cast,但它没有改变任何东西。

最佳答案

我建议您停止使用 static Logger ....。有一个very good article about the pros and cons这本书非常值得一读,尤其是当您在服务器上时。

我的另一个建议是查看 Slf4jLogBack如果你可以考虑替代品。例如,Slf4j 不需要围绕调试日志记录的保护“if”语句,这反过来意味着更清晰的代码。

关于java - Log4J:isDebugEnabled() 方法有问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4134037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com