0
我有一個全局記錄器,在幾個類中使用,這樣我就可以將一切記錄在一個文件中。所有的作品都很好,但我希望能夠從UI中禁用Logger。我試着將Level設置爲OFF,如下圖所示,這會停止日誌記錄,但仍然會創建一個空的日誌文件(我正在使用File Appender和Logger)。log4j2日誌文件即使在Level爲OFF時也會創建?
有沒有什麼簡單的方法可以避免在Level關閉時創建日誌文件?
public class Main {
public static Logger LOGGER = LogManager.getLogger("GLOBAL");
public static void main(String[] args) {
Configurator.setLevel("GLOBAL", Level.OFF);
//Rest of code
}
}
我試圖避免我將如何傳遞運行時配置文件等的變化?
LogManager.getLogManager()
此方法似乎不是log4j.LogManager的一部分。我目前使用log4j2.xml進行配置,我發現有幾種方法可以在運行時編輯配置,但所有這些方法對於我想實現的目標來說似乎都是過分的。 – martini首先,您爲什麼擔心文件在那裏關閉了關卡?我個人不會擔心。我同意它對你正在嘗試做的事情的矯枉過正。如果這是你想要的方式,看看這裏的例子http://www.nailedtothex.org/roller/kyle/entry/java-util-logging-programmatic-configuration – YuVi
是的,這是越來越複雜,我想我會現在就刪除文件... – martini