マルチプロセスでLog4J

同じファイルに書き込むとファイルが壊れる現象に遭遇しています。

多重で起動したプログラムが同じlog4j.propertiesを参照しているので、同じファイルにログが書き込まれます。普段は時系列で多重のプログラムが同じログを出力していますが、たまに時系列がぐちゃぐちゃになる事があります。3時、4時、10時、5時のようにファイルの途中にログが挿入されたりします。そしてプロセス数が増えると書き込まないプロセスがいたり。さらにはDailyRollingFileAppenderのログの日付が1日ずれて書き込まれていたりなかなか妙な動きをしています。

マルチプロセスで同じファイルに書き込みに行くのはNGだと思うんですが、普段はちゃんと出てるからまぁいいやと思っていたら…すぐに発生する現象ではなくて、長く運用してるとこういう現象が発生します。原因を知りたいので調べ中です。ポンと解決できなければプロセス別のログファイルに書き込むようにするまで。

そういえば、マルチスレッドでなくなんでマルチプロセスなのか疑問だったのですが、1個プロセスが死んでも他を道ずれにしないからとのこと。