[英]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時,我都將其添加到LogRepository
的java.util.List
中。 但是我認為可能還有另一種更好的方法。
我相信這只是設置所有實例繼承的父記錄器級別的問題。
Logger.getLogger("").setLevel(Level.FINEST);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.