[英]How can I output the name of the current java.util.logging.Logger log file name?
[英]How can I add thread and class name to Java Util Logging API via configuration files?
如果我想在 Java Util Logging API 中顯示線程、類和方法名稱,可以在 logging.properties 文件中進行配置,還是需要修改代碼?
“顯示線程”是指線程名稱還是線程 ID? 更標准的格式化程序只會包含日志記錄提供的內容,即線程 ID 而不是名稱。 正如@user207421 所說, SimpleFormatter 不包括所有 LogRecord 屬性。
java.util.logging.XMLFormatter包括線程 ID、源類和方法名稱。 這可以用於文件輸出,然后對其進行樣式設置以使其看起來不錯。
如果您對 Angus-Mail 或 JavaMail 有依賴關系,它們有com.sun.mail.util.logging.CompactFormatter可以輸出線程 ID 和源(simpleclassname.methodname)。 但是,此格式化程序將隱藏 SimpleFormatter 提供的一些附加信息。
您可能需要找到第 3 方格式化程序或編寫自己的格式化程序來顯示您需要的內容。
根據文檔,您無法獲取線程名稱,但您可以通過配置獲取日志,如下所示: 可以通過在 java.util.logging.SimpleFormatter.format 屬性中指定格式字符串來自定義格式。 給定的 LogRecord 將被格式化,就好像通過調用:
String.format(format, date, source, logger, level, message, thrown);
論據是:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.