wrapper.filter.<x>.<n> プロパティ群の概要 |
このフィルターは、とても強力な機能で、何もコーディングを必要とせず、 存在するアプリケーションに対する新しい動作を追加するなどが可能です。 JVM のコンソール出力の文字列をモニタリング(監視)することで動作し、 該当する文字列が見つかると、いくつでもアクションを実行することができます。 例えば、エラーが発生したとき JVM を再起動させます。 一部のアプリケーションには、「特定の状態になると動作を停止する」という既知のバグがあります。 このフィルター機能を活用すると、 アプリケーションの問題を解決するまで「停止する」という問題を即に回避することが可能になります。 フィルター定義に利用するプロパティは、次のとおりです。
フィルター定義として、最低でも、
[wrapper. <n> コンポーネント部:
各フィルターで、
プロパティ名の「<n>」コンポーネント部には、
「1」からカウントアップしていくインテージャー(整数値)のナンバリング数値を入れて指定します。
デフォルトでは、連番であり、欠番で飛ぶことはできないはずです。
[wrapper. 「<n>」番号の昇順で、定義されたフィルターをスキャンします。 一つのフィルター条件が一致すると、その出力ラインで処理を停止します。 |
wrapper.filter.trigger.<n> プロパテ |
||||||||||
このプロパティには、トリガー(キッカケになるもの)の文字列を設定します。 トリガーは任意の文字列にすることができ、その構成には次のプロパティが必要です。
トリガーにスペースを含む: フィルタリングされる文字列にはスペース(空白)を含めることができます。 しかし、一般的にコンフィギュレーションプロパティがロード(読み込み)される処理において、 先頭や末尾にあるスペース(空白)はトリム(切り落とし)されます。
ワイルドカード:
Wrapper バージョン 3.5.5 から、
[wrapper. 有効なワイルドカード文字は次のとおりです。
注意トリガー値は、出力の一行内のどこかに配置されている文字列として検索されますので、 トリガー値の前後に「*」ワイルドカードをつける必要はありません。 もし、そうすると、パターン一致の処理が複雑化し、 「ログ出力の一行の中に指定されたトリガーが見つからない」と判定するまでに時間を要し、 実際にはログのパフォーマンスが低下することがあるのでご了解ください。 |
wrapper.filter.action.<n> プロパティ群 |
||||||||||
アクションを実行するには、このプロパティを設定する必須があります。 もしアクションが省略されていた場合、デフォルトの [RESTART] のアクションが実行されます。
可能なアクションは次のとおりです。
複数のアクションを指定する: Wrapper バージョン 3.5.0 から、スペースやカンマで区切ることで、複数のアクションを指定することが可能です。 複数のアクションを指定すると、迅速に指定した順番で続けて実行されます。 次の例では、トリガー条件に一致した場合、スレッドダンプを実行して、その後、JVM を再起動します。
|
wrapper.filter.allow_wildcards.<n> プロパティ群 |
||||||||
「TRUE」に設定されている場合、このプロパティは、フィルターのために[wrapper.
注意利用することは構わないのですが、ワイルドカードを含むトリガー文字を検索することは、CPU に負荷を強いることになります。 これは特に長い出力行を伴う場合に、トリガーのワイルドカードがトリガーの冒頭に設定されているとき、顕著に表れます。 同じトリガーの中に複数のワイルドカードを利用すると、 全ての組み合わせでパターン一致を検索することになるため、動作がスローダウンします。 |
使用例: |
||||||||||||||||||||||||||||||||||||||
このセクションでは、トリガーを最大に活かす様々な使用例ご紹介します。 フィルターは、JVM のコンソール出力をモニタリング(監視)することで動作します。 トリガーが例外で発動されるようにするために、 Java アプリケーションが、コンソールへフィルタリングされたメッセージを表示しなければなりません。
|