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















