簡體   English   中英

使用 ConsoleHandler 日志記錄時未出現 FINE 及以下消息

[英]FINE and below messages not appearing when using ConsoleHandler logging

盡管咨詢了這個問題的答案,但我的 Logger 永遠不會顯示FINE及以下級別的消息。

Logger root = Logger.getLogger("");
root.setLevel(Level.FINEST); // I have also tried Level.ALL
    
// Test messages
root.severe("Severe");
root.warning("Warning");
root.info("Info");
root.fine("Fine");
root.finer("Finer");
root.finest("Finest");

該代碼生成以下 output。

Nov 27, 2021 4:28:45 PM java.util.logging.LogManager$RootLogger log
SEVERE: Severe
Nov 27, 2021 4:28:45 PM java.util.logging.LogManager$RootLogger log
WARNING: Warning
Nov 27, 2021 4:28:45 PM java.util.logging.LogManager$RootLogger log
INFO: Info

我嘗試更新 logging.properties 文件以將ConsoleHandler的級別設置為ALLFINEST ,但這不會改變我的結果。 我如何實際更改記錄器的級別?

我的logging.properties

handlers= java.util.logging.ConsoleHandler
.level= ALL

java.util.logging.FileHandler.pattern = %h/java%u.log
java.util.logging.FileHandler.limit = 50000
java.util.logging.FileHandler.count = 1
java.util.logging.FileHandler.formatter = java.util.logging.XMLFormatter

java.util.logging.ConsoleHandler.level = ALL
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter

使用測試程序打印記錄器樹並發布控制台 output。 這將證明您的 static 配置文件是否實際在運行時使用。

對於根記錄器來說,這應該不是問題,但您應該將記錄器聲明為 static final,這樣它就不會被垃圾收集,並且您會丟失所有程序更改。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM