我有一个简单的控制台应用程序,它使用 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 只是一个日志外观,这意味着它不提供实际将日志数据写入例如磁盘的代码。您需要更改的是实际日志记录实现的配置(例如 logback
、log4j
等)。如果没有找到这样的库,则默认为 java.util.logging
。
我建议输入例如 log4j在类路径中添加 log4j.xml类路径中的配置文件。在这种情况下,类路径中仅存在 log4j
就足以初始化它。 Log4j也可以配置programmatically .
关于java - 调整 apache commons 日志的日志级别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5009658/