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