2012-09-03 18 views
4

我使用java.util.logging.Logger中,我想限制日誌級別至嚴重,但他不尊重和日誌一切。哪裏不對?java.util.logging.Logger中的不尊重java.util.logging.Level中

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」)都被記錄。如何限制日誌級別至嚴重的只有第二個消息(「Test2的)出現?

+0

在我的機器上工作(不使用logging.properties文件)。 –

+0

奇怪。在我的機器上出現任何級別的所有日誌。 – David

回答

1

我相信你要麼沒有在logging.properties文件中正確配置日誌級別或運行應用程序時,未設置系統屬性java.util.logging.config.file

使用-Djava.util.logging.config.file=PATH TO YOUR logging.properties FILE運行應用程序時。

+0

你是否說在運行時沒有什麼可以解決這個問題? –

+0

這不是我正在使用文件logging.properties。我不會使用這個文件logging.properties。我試圖通過代碼設置信息。 – David

+0

我會做它沒有文件logging.properties – David

0

大衛,它還在我的機器工作正常,而不log4j.properties。 不知道,但問題可能是你使用的罐子,它阻止你設置日誌級別到 「嚴重」,請使用下面的依賴。這絕對會工作。

<groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
<version>1.2.12</version>