4

我正在使用 java.util.logging.Logger 并且我想将日志级别限制为 SEVERE,但他不尊重这一点并记录所有内容。怎么了?

private static final Logger log = Logger.getLogger(MyClass.class.getName());
private Handler fileHandler = null;

public static void myMethod(){
   fileHandler = new FileHandler("file", 1000000, 1, true);
   log.setLevel(Level.SEVERE);
   fileHandler.setLevel(Level.SEVERE);

   SimpleFormatter formatter = new SimpleFormatter();
   fileHandler.setFormatter(formatter);
   log.addHandler(fileHandler);

   log.log(Level.INFO, "Test1");
   log.log(Level.SEVERE, "Test2");
}

正在记录消息 1(“Teste1”)和消息 2(“Test2”)。如何将日志级别限制为 SEVERE,仅出现第二条消息(“Test2)?

4

2 回答 2

1

我相信您要么没有在文件中正确配置日志级别,要么在运行应用程序时logging.properties没有设置系统属性。java.util.logging.config.file

-Djava.util.logging.config.file=PATH TO YOUR logging.properties FILE运行应用程序时使用。

于 2012-09-03T15:54:37.263 回答
0

大卫,它在我没有 log4j.properties 的机器上也能正常工作。不确定,但问题可能出在您正在使用的 jar 中。它阻止您将日志级别设置为“严重”。请使用以下依赖项。它肯定会奏效。

<groupId>log4j</groupId>
     <artifactId>log4j</artifactId>
 <version>1.2.12</version>
于 2012-09-09T04:16:52.627 回答