我使用 log4j 登录我的项目。这是它的示例设置:
public class MyClass {
private final Logger logger = Logger.getLogger(MyClass.class);
public MyClass() {
BasicConfigurator.configure();
Logger.getLogger(MyClass.class).setLevel(Level.INFO);
}
...
}
问题是在每次调用下一个记录器时,它都会复制日志消息(我的意思是第一次调用时只有 1 条消息,第二次调用时有 2 条相同的消息,然后有 3 条,依此类推)。似乎每次都会创建新记录器的实例并与所有旧实例一起使用。
如何避免这个问题?
谢谢。
UPP。试图让它成为静态的,但无论如何它都不起作用。我仍然收到多条日志消息。有任何想法吗?可能是一些 Weblogic 特定的东西?
最佳答案
使记录器静态
private static final Logger logger = Logger.getLogger(MyClass.class);
这里的关键是为每个类而不是每个实例创建一个Logger
。
关于java - log4j 和 weblogic : duplicate log messages,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7094875/