FO ファイルの処理時に FOP が自動的に生成するログ出力 (通常は stderr に送信される) を無効にするにはどうすればよいですか?
log4j.properties
ログレベルを変更してクラスパスにファイルを入れようとしましたが、うまくいきませorg.apache.fop
んでした。
FO ファイルの処理時に FOP が自動的に生成するログ出力 (通常は stderr に送信される) を無効にするにはどうすればよいですか?
log4j.properties
ログレベルを変更してクラスパスにファイルを入れようとしましたが、うまくいきませorg.apache.fop
んでした。
fopのドキュメントでヒントを見つけました:http://xmlgraphics.apache.org/fop/0.95/embedding.html#basic-logging「[...]をJakartaCommonsLoggingに切り替えました」。log4j.properties
彼らはコモンズロギングを使用しているので、おそらく効果はありません。
これは私の場合は機能します:
<logger name="org.apache.fop">
<level value="info" />
<appender-ref ref="logfile" />
<appender-ref ref="stdout" />
</logger>
検出プロセスがlog4jを検出できるかどうか、commonsロギング構成を確認します( http://commons.apache.org/logging/guide.html#Configuration)
次のようなことができます。
org.apache.commons.logging.impl.Log4JLogger log = (org.apache.commons.logging.impl.Log4JLogger) LogFactory.getLog("org.apache.fop");
log.getLogger().setLevel(org.apache.log4j.Level.FATAL);
FOP はわかりませんが、次のようなコードを使用して、いつでも STDERR を好きな場所にリダイレクトできます。
File errDumpFile = new File("Path\to\a\File")
FileOutputStream fos = new FileOutputStream(errDumpFile);
PrintStream ps = new PrintStream(fos);
System.setErr(ps);
注: ファイルにリダイレクトする必要はありませPrintStream
んOutputStream
。