簡體   English   中英

如何在java.util.logging中獲取記錄器,以便我可以在運行時更改其日志級別?

[英]How to get loggers in java.util.logging so i can change their log level at runtime?

我在不同的類中使用java.util.logging 日志級別的默認值為INFO 例如,在一類Class1它是通過以下方式設置的:

import java.util.logging.Handler;
import java.util.logging.Level;
import java.util.logging.Logger;

public class Class1 {
   private static final Logger LOGGER = Logger.getLogger(Class1.class.getName());
   static {
       LOGGER.setLevel(Level.INFO);
       for (Handler handler : LOGGER.getHandlers()) {
           handler.setLevel(Level.INFO);
       }           
   }
   ...
}

上面是在不同類中設置的相同方法。

現在可以在運行時更改日志級別。 例如,假設在運行時將其更改為FINEST 在這種情況下,我想獲取到目前為止已創建的所有記錄器,然后將其日志級別更改為FINEST 我怎樣才能做到這一點? 我在考慮創建另一個類LogRepository ,該類具有java.util.List ,每當創建LOGGER時,我都將其添加到LogRepositoryjava.util.List中。 但是我認為可能還有另一種更好的方法。

我相信這只是設置所有實例繼承的父記錄器級別的問題。

Logger.getLogger("").setLevel(Level.FINEST);

暫無
暫無

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

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