[英]LOG4J2: Disable “No log4j2 configuration file found..” print when configuring programmatically
我没有使用任何XML配置文件,而是以编程方式设置记录器配置。 记录器正常工作,但就在我调用下面代码的第一行时,出现警告ERROR
消息,告诉我找不到配置文件,将使用默认配置。
但是我不希望每次打开程序时都会在控制台上显示此消息,因为我将以编程方式自行添加配置。
消息:
ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.
当我调用下面的代码时,它会出现:
LoggerContext context = (LoggerContext) LogManager.getContext(false);
或者如果我先获得根记录器:
Logger logger = LogManager.getLogger(LogManager.ROOT_LOGGER_NAME);
是否有某种属性可以设置为禁用此消息显示? 还是另一种方法?
注意 :我通过设置属性-Dlog4j2.disable.jmx=true
禁用了有关Log4j2 JMX的另一个通知。 但我找不到这个。
添加以下系统属性以便不显示该消息:
-Dorg.apache.logging.log4j.simplelog.StatusLogger.level=OFF
或者,更简单地说:
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.status.StatusLogger;
...
StatusLogger.getLogger().setLevel(Level.OFF);
您可以在主类中完成此操作。
static {
StatusLogger.getLogger().setLevel(Level.OFF);
}
您必须实现初始化方法,以便从代码中正确初始化log4j配置。
在下面的页面中查看“如何在没有配置文件的代码中配置log4j2”部分,该部分也提供了源代码。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.