私の英語のための恩赦。Log4j同期私はlog4jを捕まえることができません:ERROR setFile(null、true)呼び出しが失敗しました。
ログ情報を「監査」ファイルに送信します。私は排他的なアペンダとのlog4jを使用する方法について考えた:
LOGGER_AUDIT.info("Text of audit");
私はそれが同期書かれていることを確認したいです。次のような例外が発生した場合:
og4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException: D:audit.log (Access denied)
...
私はそれをキャプチャして実行を停止します。
それはこのようなものになるだろう:
try {
LOGGER_AUDIT.info("Text of audit");
} catch(LoggerException logExc) {
// TODO Ops... the logger do not write.
throw logExc;
}
おかげで、すべて。
あなたはより具体的になりますか?どういう意味ですか?例外はキャッチブロックで処理されますか? PS:あなたの英語はうまくいくようです。 – Matthias
うーん、私は "同期的に"あなたの問題はここではないと思う。上記のメッセージが表示されたらどうなりますか?アプリがクラッシュするのですか?もちろん、有効な書き込み可能なパスを指定することで、上記のエラーを避けることができます。 Log4j(2)は、最初のログ呼び出し時に自動的に設定されます。あなたは、あなたのアプリの始めに1つを作ってtry/catchでラップすることができます。設定中に例外が発生した場合は、それをキャッチする必要があります。 – Fildor
Matthias:擬似サンプルを追加するコメントを編集します:) – vakya