簡體   English   中英

配置`java.util.logging`的最簡單方法是什么

[英]What is the simplest way to configure `java.util.logging`

我有一個第 3 方開發的大型復雜應用程序,其中充滿了java.util.logging.Logger#finer()調用。

通常我使用 log4j 和 sl4j 進行日志記錄,我對 java.util.logging 了解不多,更不用說所有配置細節和可能性。

每個關於“java.util.logging”的谷歌都指向關於流處理程序、格式化程序、級別的完整解釋。 每個人都認為我真的很關心所有這些東西(實際上這是一個合理的假設)。 但我不在乎。

我對分離每個文件的日志、文件輪換、壓縮、email、遠程日志等並不感興趣。我也不關心日志級別和消息格式的刺激。

我要做的就是運行這個應用程序,並將所有可用的日志消息都發送到標准輸出。

有沒有簡單直接的方法來做到這一點?

類似 jvmargs -Djava.util.logging.level=FINEST -Djava.util.logging.to=stdout的東西。 或者也許一些簡單的文件被放到類路徑中的某個位置?

我要做的就是運行這個應用程序,並將所有可用的日志消息吐到標准輸出

不要在生產中這樣做,但它是快速、簡單、hacky 的方式:

編輯位於java/conf中的 logging.properties 文件。 例如 /usr/lib/jvm/default-java/conf/logging.properties

該文件設置為將 ConsoleHandler 附加到根記錄器,這是您想要執行的操作。 您只需調整級別即可查看 output。 這是一個全球性的變化,所以要注意。

編輯該文件並:

  • 更改.level= INFO -> .level=ALL
  • java.util.logging.ConsoleHandler.level = INFO更改為java.util.logging.ConsoleHandler.level = ALL
  • 保存更改並重新啟動您的應用程序。

推薦方式:

大多數 JVM 不在您的控制范圍內(生產/開發服務器),因此您可以將該文件復制到您擁有的位置並使用java.util.logging.config.file系統屬性。

EG -Djava.util.logging.config.file=/home/myuser/myapp/logging.properties

這樣,您就可以自由地對程序進行本地更改,而不是對機器進行全局更改。

暫無
暫無

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

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