13

PDFBoxを使用してPDFの読み取りと操作を行っています。しかし、解析中に、次のようなメッセージが大量に表示されます。

Changing font on <m> from <Arial Bold> to the default font

これらを無効にするにはどうすればよいですか?フォントが埋め込まれている場合、入力のすべての文字にこのようなメッセージが出力されるため、ログファイルはかなり使用できなくなります。

他のコンポーネントからのステートメントが必要なため、全体的なログレベルを変更することはできません。

Tomcat 5.5、log4j 1.2.16、pdfbox-app1.6.0を使用しています

そして、これが私のlog4j設定ファイルです:

# Root logger option
log4j.rootLogger=INFO, file, stdout

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.file.File=/home/PDF/WS/PDF.log
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %-5p [%c{2}]: %m%n

# 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

編集

log4jファイルを変更した後、次のようになります。

# Root logger option
log4j.rootLogger=INFO, file, stdout

log4j.rootLogger.org.apache.pdfbox=ERROR

# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
#log4j.appender.file.File=/home/PDF/WS/PDF.log
log4j.appender.file.File=C:\\loging.log
log4j.appender.file.MaxFileSize=5MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{ISO8601} %-5p [%c{2}]: %m%n

# 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

行をどこに置いてlog4j.rootLogger.org.apache.pdfbox=ERRORも、ログファイルに次のようなエラーが表示され続けます。

2012-07-16 15:36:46,652 WARN  [font.PDSimpleFont]: Changing font on <r> from <Arial Bold> to the default font
2012-07-16 15:36:46,652 WARN  [font.PDSimpleFont]: Changing font on <o> from <Arial Bold> to the default font
2012-07-16 15:36:46,667 WARN  [font.PDSimpleFont]: Changing font on <c> from <Arial Bold> to the default font
2012-07-16 15:36:46,667 WARN  [font.PDSimpleFont]: Changing font on <e> from <Arial Bold> to the default font
2012-07-16 15:36:46,667 WARN  [font.PDSimpleFont]: Changing font on <s> from <Arial Bold> to the default font
2012-07-16 15:36:46,667 WARN  [font.PDSimpleFont]: Changing font on <u> from <Arial Bold> to the default font
2012-07-16 15:36:46,667 WARN  [font.PDSimpleFont]: Changing font on < > from <Arial Bold> to the default font
2012-07-16 15:36:46,667 WARN  [font.PDSimpleFont]: Changing font on <P> from <Arial Bold> to the default font

編集2

log4j:パッケージ固有のロギングを調べた後、正しい構文を発見しました。

log4j.logger.org.apache.pdfbox=ERROR
4

3 に答える 3

16

すべてのロギングを無効にする簡単な方法:

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

または、重大なメッセージのみを表示したい場合:

java.util.logging.Logger
    .getLogger("org.apache.pdfbox").setLevel(java.util.logging.Level.SEVERE);
于 2017-03-17T09:20:16.737 に答える
6

pdfboxは、前に述べたようにエラーで多くのログを記録します。log4j.propertiesに次の行を追加すると、クリーンアップされるはずです。

log4j.rootLogger.org.apache.pdfbox.pdmodel.font.PDFont=fatal
于 2012-07-13T08:25:46.333 に答える
3

これは私にとってはうまくいきます:-この答えが当てはまる場合、このような複数の質問があり、私はすでに物事を重複としてマークするように求められていることに注意してください。したがって、誰かがこのための時間を見つけた場合は、先に進んでマージしてください...

 // you might want to switch off logging here to improve performance
        String[] loggers = { "org.apache.pdfbox.util.PDFStreamEngine",
            "org.apache.pdfbox.pdmodel.font.PDSimpleFont",
            "org.apache.pdfbox.pdmodel.font.PDFont",
            "org.apache.pdfbox.pdmodel.font.FontManager",
            "org.apache.pdfbox.pdfparser.PDFObjectStreamParser" };
        for (String logger : loggers) {
          org.apache.log4j.Logger logpdfengine = org.apache.log4j.Logger
              .getLogger(logger);
          logpdfengine.setLevel(org.apache.log4j.Level.OFF);
        }
于 2015-07-05T19:41:36.053 に答える