wildflyのログハンドラー一覧

こんにちは、小吉です。

wildfly 16で使用可能なログハンドラーの種類を公式ドキュメントを読んで自分なりに意訳してみました。英語の苦手な方の参考になれば幸いです。

async-handler非同期でログ出力をするためのハンドラーで、主に長時間かかるログ書き込みを行うハンドラーをラップするために使用します。
console-handlerコンソールにログ出力するためのハンドラーで、主に標準出力や標準エラー出力にログを書き込むために使用します。
custom-handler任意のハンドラーをロガーまたはasync-handlerに割り当てることのできるハンドラーです。java.util.logging.Handlerを拡張する形でjarを作成し、それをモジュールとしてwildflyに組み込むことで、独自のハンドラーとして使用できます。
file-handler指定ファイルにログを書き込むためのハンドラー。
periodic-rotating-file-handler指定ファイルにログを書き込むためのハンドラーで、suffix属性に指定した日時フォーマットに従ってログファイルをローテートされます。suffix属性に指定する日時フォーマットは、
java.text.SimpleDateFormat で認識される記述をする必要があります。秒やミリ秒単位でのローテートはされません。
periodic-size-rotating-file-handlerperiodic-rotating-file-handlerとほぼ同じですが、suffix属性に指定した日時フォーマットに加えて、rotate-size属性に指定したファイルサイズによってローテートされます。
max-backup-index属性が後続のsize-rotating-file-handlerと異なる動作をします。
ローテートする際のファイル名には現在の日時フォーマットとindexを組み合わせたものが付与されます。たとえば、suffix属性が.yyyy-MMでrotate-size属性が10Mだった場合、ファイルは10Mbのサイズに達したとき、.2019-06.1、.2019-06.2、・・・といった具合にローテートされます。
size-rotating-file-handler 指定ファイルにログを書き込むためのハンドラーで、rotate-size属性に指定したファイルサイズによってローテートされます。
ローテートされたファイルは保持され、max-backup-index属性の値に達するまでファイル名に付与されたインデックスがインクリメントされます。最大のインデックスに達すると、ファイルは上書きされます。
socket-handlerソケットを介してメッセージを送信するハンドラです。
TCPやUDPソケットを使用でき、socket-binding-groupに定義されたlocal-destination-outbound-socket-bindingやremote-destination-outbound-socket-bindingを定義する必要があります。
起動時のログは、ソケット接続が確立され、かつこのロギングサブシステムがサーバに追加されるまで、キューに溜まります。
これは重要なことで、levelをDEBUGやTRACEにしていた場合は、起動時に大量のメモリを消費することになるので注意が必要です。
syslog-handlerUDP経由でsyslogサーバへログを送信するハンドラーです。RFC3164、RFC5424に準拠しています。

参考書籍