java - 更改 PDFBox 日志记录级别

标签 java eclipse logging log4j pdfbox

我目前正在尝试降低我在我的 Java 项目中使用的 PDFBox 1.8.6 库的日志记录级别,但未能成功。基于this previous question ,我在/src/目录中有以下 log4j.properties 文件。

log4j.rootLogger=ERROR, stdout

log4j.logger.org.apache.pdfbox=ERROR

# Direct log messages to stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %-5p [%c{2}]: %m%n

我不确定我还遗漏了什么,因为我仍然在控制台中收到类似以下消息的垃圾邮件。

Jul 10, 2014 10:19:23 AM org.apache.pdfbox.pdfparser.PDFParser parseXrefTable
WARNING: Count in xref table is 0 at offset 223265
Jul 10, 2014 10:19:23 AM org.apache.pdfbox.pdfparser.PDFParser parseXrefTable
WARNING: Count in xref table is 0 at offset 223265
Jul 10, 2014 10:19:23 AM org.apache.pdfbox.pdfparser.PDFParser parseXrefTable
WARNING: Count in xref table is 0 at offset 223265

如果有办法以编程方式更改日志级别,我根本不会附加到属性文件,因为我没有在其他任何地方使用 log4j。我不知道它是否甚至在使用 log4j.properties 文件。我正在使用 Eclipse,我不确定如何确认 log4j.properties 文件是否按预期位于类路径中。

最佳答案

在我弄明白之前,我遇到了同样的问题。

PDFBox 1.8.6 库不直接使用 Log4j。相反,它使用 Apache Commons Logging Framework ( http://commons.apache.org/proper/commons-logging/guide.html )。

公共(public)日志记录框架有自己的属性文件来配置日志记录,如果它在类路径上,则只使用 log4j 作为后备。

要解决此问题,您可以配置 apache 公共(public)日志记录以忽略它或将 log4j 添加到您的类路径中。我在这里找到了一些说明,但我无法让它们工作 ( http://cyntech.wordpress.com/2009/01/09/how-to-use-commons-logging/ )

我最后做的是将 log4j.jar 添加到我的类路径,然后上面的说明(在类路径中添加一个 log4j.properties 文件,内容为 log4j.rootLogger=ERROR,stdout)终于奏效了。

关于java - 更改 PDFBox 日志记录级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24682756/

相关文章:

java - 比较盒装 Long 值 127 和 128

ruby-on-rails - 在 Heroku Scheduler 上以分离的方式运行 Rails Rake 任务以捕获 Papertrail 中的日志输出

java - 配置log4j属性文件存储在mysql数据库中

java - 使用java中的 volatile boolean 标志从 HashMap 中的另一个线程停止一个线程

java - AngularJS -> Java : POST/PUT request results in 'Preflight request doesn' t pass access control check'

java - Eclipse 巨大的 CPU 峰值

javascript - BIRT 动态图像 url - 无法访问数据列

java - 将控制台 Java 应用程序传输到 Maven

python - 在 Django 项目中设置日志文件的最大大小

java - 如何确定 XML 文档中的所有命名空间