java - 调整 apache commons 日志的日志级别?

标签 java java.util.logging apache-commons-logging

我有一个简单的控制台应用程序,它使用 apache 的 PDFBox 库,而后者又使用公共(public)日志记录。我在控制台中收到很多垃圾消息,我想禁止这些消息:

Feb 15, 2011 3:56:40 PM org.apache.pdfbox.util.PDFStreamEngine processOperator INFO: unsupported/disabled operation: EI

在我的代码中,我尝试重置日志级别无济于事:

Logger.getLogger("org.apache.pdfbox.util.PDFStreamEngine").setLevel(Level.OFF);
Logger.getLogger("org.apache.pdfbox.util").setLevel(Level.OFF);
Logger.getLogger("org.apache.pdfbox").setLevel(Level.OFF);

尽管进行了这些设置,但消息仍会显示在控制台上。从 Commons 日志中检索日志对象也无济于事,因为它似乎无法设置级别。

有没有办法以编程方式抑制这些消息?还是我需要添加配置文件?

最佳答案

Commons-logging 只是一个日志外观,这意味着它不提供实际将日志数据写入例如磁盘的代码。您需要更改的是实际日志记录实现的配置(例如 logbacklog4j 等)。如果没有找到这样的库,则默认为 java.util.logging

我建议输入例如 log4j在类路径中添加 log4j.xml类路径中的配置文件。在这种情况下,类路径中仅存在 log4j 就足以初始化它。 Log4j也可以配置programmatically .

关于java - 调整 apache commons 日志的日志级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009658/

相关文章:

java - 将所有 System.out 写入文件

java - 如何让 OpenEJB 使用 slf4j?

java - 解决 NoClassDefFoundError

osgi - OSGi 运行时中的 Commons Logging 包

java - 如何使用NiFi进程 session 迁移功能?

java - 如何确定并更改用于执行的 Java Maven 版本?

java - 使用深度优先搜索遍历矩阵找出渗流

java - 在 Java Swing 中创建 "Tips on StartUp"

java - 是否可以让 Handler 认识到它已被删除?

java.util.logging - 如何强制所有记录器遵守应用程序运行时中给定的格式? (HSQL数据库)