gpt4 book ai didi

apache-poi - 如何抑制初始 StatusLogger 错误消息

转载 作者:行者123 更新时间:2023-12-05 04:30:10 25 4
gpt4 key购买 nike

我在我的应用程序中使用 Apache POI 5.2.2。 Apache POI 使用 log4j2 作为其用于调试的内部日志记录机制。因此 log4j-api-2.17.2.jar 是必需的依赖项。在这里我应该注意,我没有使用 maven,所以我下载了 POI 二进制分发版并在应用程序类路径中包含所需的依赖项。

登录 POI 是为 POI 开发者准备的,不推荐用于正常操作(即最终用户)。对于我的用例,我根本不想使用日志记录。但是,当我的应用程序首次加载其中一个 POI 类时,以下消息会打印在 stderr 上:

ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...

我不想添加 log4j-core,因为我真的不想要日志记录。我真的只想禁止显示此消息,因为日志记录与应用程序无关。我想以编程方式执行此操作,以避免为我不使用的内容添加配置文件。我试图通过将 log4j2.StatusLogger.level 属性设置为 OFF 来做到这一点,但这没有任何区别(我也尝试将其设置为 0).

是否有一个简单的咒语可以用来抑制 StatusLogger 消息?还是我必须完全进入 log4j2 世界并编写一个空记录器?

最佳答案

您可以通过在 Log4j2 property sources 之一中将记录器上下文工厂显式设置为 org.apache.logging.log4j.simple.SimpleLoggerContextFactory 来禁用消息。 .

例如,您可以添加:

log4j2.loggerContextFactory = org.apache.logging.log4j.simple.SimpleLoggerContextFactory

到类路径上的 log4j2.component.properties 文件。

关于apache-poi - 如何抑制初始 StatusLogger 错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72115612/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com