public class SynchronousFileLogWriter extends FileLogWriter
本クラスを使用するとプロセスをまたがってログ出力処理を直列化できるので、複数プロセスから同一のファイルにログ出力を行う場合でも確実にログを出力できる。
本クラスは障害通知ログのように出力頻度が低く、かつサーバ単位でログファイルを一元管理するほうが効率的なログの出力にのみ使用することを想定している。
頻繁にログの出力が行われる場面で本クラスを使用するとロック取得待ちによって性能が劣化する可能性があるので、
アプリケーションログやアクセスログのように出力頻度の高いログの出力に本クラスを使用してはいけない。
本クラスはロック取得の待機時間を超えてもロックを取得できない場合、
強制的にロックファイルを削除し、ロックファイルを生成してからログの出力を行う。
もし強制的にロックファイルを削除できない場合は、ロックを取得していない状態で強制的にログの出力を行い、処理を終了する。
また、ロックファイルの生成に失敗した場合および、ロック取得待ちの際に割り込みが発生した場合も、ロックを取得していない状態で強制的にログの出力を行い、処理を終了する。
createLogFormatter, getFormatter, getName, getSettings, initialize, needsToWrite, onInitialize, onTerminate, onWrite, terminate, write