首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何抑制初始StatusLogger错误消息

如何抑制初始StatusLogger错误消息
EN

Stack Overflow用户
提问于 2022-05-04 15:29:14
回答 2查看 624关注 0票数 3

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

POI中的日志记录是针对POI开发人员的,不推荐用于正常操作(即最终用户)。对于我的用例,我根本不想使用日志记录。但是,当我的应用程序第一次加载一个POI类时,将在stderr上输出以下消息:

代码语言:javascript
运行
复制
ERROR StatusLogger Log4j2 could not find a logging implementation. Please add log4j-core to the classpath. Using SimpleLogger to log to the console...

我不想添加log4j核心,因为我真的不想要日志记录。我真的想压制这条消息,因为日志记录与应用程序无关。我想以编程的方式这样做,以避免为我不使用的东西添加配置文件。我试图通过将log4j2.StatusLogger.level属性设置为OFF来做到这一点,但这并没有起到任何作用(我也尝试将它设置为0)。

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-05-04 22:11:30

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

例如,你可以添加:

代码语言:javascript
运行
复制
log4j2.loggerContextFactory = org.apache.logging.log4j.simple.SimpleLoggerContextFactory

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

票数 2
EN

Stack Overflow用户

发布于 2022-08-27 15:14:08

添加到命令行标志:

代码语言:javascript
运行
复制
-Dlog4j2.loggerContextFactory=org.apache.logging.log4j.simple.SimpleLoggerContextFactory

默认情况下,此工厂将设置SimpleLogger

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72115612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档