正在禁用来自org.apache.fontbox和..的日志记录消息..pdfbox



我使用PDFbox读取PDF文件;我知道它不使用Log4j,而是使用apache的通用日志记录(听到这个消息我很惊讶,因为它的Maven配置包括Log4jv1(。

当我运行我的程序时,我会收到这样的消息:

18:13:20.093 [SwingWorker-pool-2-thread-1] DEBUG org.apache.fontbox.ttf.PostScriptTable - No PostScript name information is provided for the font CourierNewPS-BoldMT
18:13:20.102 [SwingWorker-pool-2-thread-1] DEBUG org.apache.fontbox.ttf.GlyphSubstitutionTable - Type 4 GSUB lookup table is not supported and will be ignored
18:13:20.102 [SwingWorker-pool-2-thread-1] DEBUG org.apache.fontbox.ttf.GlyphSubstitutionTable - Type 6 GSUB lookup table is not supported and will be ignored
18:13:20.102 [SwingWorker-pool-2-thread-1] DEBUG org.apache.fontbox.ttf.GlyphSubstitutionTable - Type 6 GSUB lookup table is not supported and will be ignored

(68条关于GlyphSubstitutionTable的消息(和

18:13:20.163 [SwingWorker-pool-2-thread-1] DEBUG org.apache.fontbox.ttf.GlyphSubstitutionTable - Type 4 GSUB lookup table is not supported and will be ignored
18:13:20.476 [Finalizer] DEBUG org.apache.pdfbox.io.ScratchFileBuffer - ScratchFileBuffer not closed!
18:13:23.327 [Finalizer] DEBUG org.apache.pdfbox.io.ScratchFileBuffer - ScratchFileBuffer not closed!

我已尝试将commons-logging.properties文件放入包含的src/main/resources

org.apache.commons.logging.Log=org.apache.commons.logging.impl.NoOpLog

我已经尝试将代码java.util.logging.Logger.getLogger("org.apache.pdfbox").setLevel(java.util.logging.Level.OFF)放入包含程序的static void main方法的类的静态初始值设定项中。

我试着把

System.setProperty("org.apache.commons.logging.Log",  "org.apache.commons.logging.impl.NoOpLog");

到静态初始值设定项中,分别与前面的代码一起。

当我阅读代码中的PDF时,我仍然会收到上面提到的日志消息,以及上面尝试的任何和所有修复。我怎样才能消除它们;我更愿意将它们限制为警告、错误和严重的消息,而不是删除所有消息,但在这一点上,我将接受其中任何一个的建议。

public class Main {
static {
java.util.logging.Logger.getLogger(
"org.apache").setLevel(java.util.logging.Level.SEVERE);
}
// ...

还帮助我禁用了fontbox中的警告。

"org.apache.pdfbox"仅禁用pdfbox警告,而不禁用fontbox警告。

"org.apache.fontbox"在某种程度上不会禁用字体框警告。

最新更新