2012-03-21 12 views
0

私のアプリケーションでLog4Jを使用しようとしていますが、このアプリケーションを実行したいマシンがローカルドライブに書き込み権限を与えていないという問題があります。しかし、Log4Jは何のエラーも投げていません。単にロギングをスキップします。Log4J - ファイルシステムに書き込みできないかどうかを確認する

私がしたいのは、Log4Jがローカルファイルシステムに書き込めない場合、アプリでいくつかのフィードバック/メッセージを返すコードを書くことです。 Log4J自体からLog4Jがローカルファイルシステムに書き込むことができるかどうかを知る方法はありますか?または、Log4Jが各操作でログファイルに書き込んだ単語の数を判断する方法はありますか?それでは、ログが実際に発生しているかどうかを判断し、適切な処置を取ることができました。

答えて

2

あなたは

号のlog4jが信頼できないサイトからのFAQ

引用を読みました。これは、ベストエフォートフェールストップログ システムです。

fail-stopによって、log4jは実行時に予期しない例外 をスローしないため、アプリケーションがクラッシュする可能性があります。 の理由でlog4jがキャッチされない例外をスローした場合は、 [email protected]メーリングリストに電子メールを送信してください。キャッチされていない例外 は、直ちに注意が必要な深刻なバグとして処理されます。

ロギングに失敗してもアプリケーションを続行することをお勧めします。

説明した内容は、おそらく「アプリケーション監視」の機能です。特定のファイルシステムがいっぱいになっているか、ディレクトリ/ファイルがしばらく変更されていないかどうかを確認するためのツールがたくさんあります。

あなたは基本的なチェックを行うことができますロギング用のディレクトリに格納します。

+0

さらに読むと... "しかし、log4jはSystem.errにログを出力できないことを示す単一のメッセージを出力します。" – jahroy

+0

応答に感謝します。私の要点は、何らかの方法があるかどうかであるため、この情報を取得してロギングを実行することはできません。もしあれば、私にいくつかお勧めしてください。 @jahroyので、log4jがSystem.errに送信しているメッセージを受け取ることができます!それは愚かな質問に聞こえるかもしれませんが、私はSystem.errから値を取得する方法を知りません...ありがとう! –

関連する問題