ここにはいくつかのアプリがあるjavaアプリケーションサーバーがいくつかあります。それらはすべてLog4Jで同じファイルシステムにログオンします。その理由は、その理由だけです。 時々、ファイルシステムの領域が不足し、アプリは、Log4Jはディスクいっぱいから回復できますか?
log4j:ERROR Failed to flush writer,
java.io.IOException
は、残念ながら、Log4Jのは、このエラーから回復していない取得することが起こるので、そのスペースは、ファイルシステム、これ以上のログに解放された後も、そのアプリから書かれています。アプリケーションを再起動する以外に、Log4Jを再び使用するために、プログラミング上または設定上のオプションはありますか?
http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/helpers/OnlyOnceErrorHandler.htmlから収集したものから、エラーは1回後にスローされ、それ以降は終了します。私が望むのは、エラーが1回だけスローされたにもかかわらず、アペンダーはそのファイルシステムに書き込もうとしています...おそらく5分の休止を...アペンダーの周りのラッパーが実行可能なアイデアのようです – dertoni
OnlyOnceErrorHandlerを使用している場合は、代わりにFallbackErrorHandler(http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/varia/FallbackErrorHandler.html)を使用することを検討してください。そうすれば、もう1つ書き込めないときに2番目のアペンダー(電子メールアペンダー)を指定することができます。それはラッピングが何をするのかをたくさん扱います。 – GaryF