# ログ（メッセージ）出力をフィルターする設定

ログ（メッセージ）を出力するかどうかを、メッセージレベルやメッセージ番号ごとに設定できます。この設定によって、確認したいメッセージだけを監視しやすくできます。

ここでは、各設定の方法および運用例について説明します。

## メッセージレベルごとにフィルターする

メッセージレベルごとに、トレースログおよびsyslogに出力するかどうかのフィルター設定ができます。

メッセージレベルは、「インフォメーション」、「ワーニング」、「エラー」の3つがあります。

メッセージレベルについては、以下を参照してください。

HULFT10 for Linux/AIX エラーコード・メッセージ : 共通ヘッダ部

設定方法

システム動作環境設定の以下の項目で指定してください。

- トレースログに出力するメッセージレベルの指定

  「トレースログへの出力（tracelog）」

  初期値は、”001”（メッセージレベル「エラー」だけを出力する）です。

- syslogに出力するメッセージレベルの指定

  「システムログへの出力（syslog）」

  初期値は、”000”（すべてのメッセージレベルを出力しない）です。

各項目の設定の詳細と設定例については、「その他設定」を参照してください。

注意

メッセージレベルごとの設定がされていても、メッセージフィルタファイル（msgfilter.info）で指定された設定が優先されます。メッセージフィルタファイルについては、「メッセージ番号ごとにフィルターする」を参照してください。

## メッセージ番号ごとにフィルターする

HULFTが出力するメッセージのうち、特定のログ（メッセージ）だけをトレースログおよびsyslogに出力するかどうかのフィルター設定ができます。このフィルター設定は、メッセージ番号ごとに指定します。

フィルター設定は「メッセージフィルタファイル」というファイルで記述します。

ここでは、メッセージフィルタファイルの設定方法について説明します。

注意

「メッセージレベルごとにフィルターする」でメッセージレベルごとにログ出力するかどうかを設定できますが、メッセージフィルタファイルで設定したメッセージについては、メッセージフィルタファイルの設定が優先されます。

### ファイル名

メッセージフィルタファイルの名称は「msgfilter.info」です。この名称は変更できません。

メッセージフィルタファイルはHULFTが使用するシステムファイルが存在するパス「HULPATH」に置きます。

### 記述フォーマット

    メッセージ番号 tracelog syslog

- 行の先頭に「#」があるときは、コメント行とみなされます。

- 行頭のスペースコードおよびタブコードは読み飛ばします。

- 項目と項目の区切りは、スペースコード（0x20）またはタブコード（0x09）を使用します。

  スペースコードとタブコードが連続していても1つの区切り文字とみなします。

- メッセージ番号が重複して記述されている場合は、後に記述された設定が有効となります。

- 以下のレコードが検出された場合、そのレコードを読み飛ばします。

  - 不正なフォーマットで記述されている

  - メッセージ番号が不正である

  - 許容しない文字または数値が指定されている

### レコードレイアウト

メッセージフィルタファイル（msgfilter.info）はバイナリデータを含まないため、メモ帳などのエディターで作成できます。また、レコードはメッセージ番号ごとに記述します。1行につき、1メッセージ番号で記述してください。

1行（レコード）の最大長は1024バイトです。

### 各項目の説明

各項目の説明を以下に示します。

メッセージ番号

  定義するメッセージ番号を指定します。

  メッセージ番号については、以下を参照してください。

  HULFT10 for Linux/AIX エラーコード・メッセージ : 共通ヘッダ部

tracelog

  指定したメッセージ番号のトレースログへの出力有無を指定します。

  0

    : ログを出力しない

  1

    : ログを出力する

syslog

  指定したメッセージ番号のsyslogへの出力有無を指定します。

  0

    : ログを出力しない

  1

    : ログを出力する

### 設定例

    # HULFT10 Message Filter
    #
    #       ID          Message number
    #       tracelog    0: No Output 1: Output
    #       syslog      0: No Output 1: Output
    #
    # ID        tracelog      syslog
    # E1234567  1             0         #このIDはコメントアウトされている
    E001002     0             0         #このメッセージを無視
    I200789     1             1         #このメッセージを強制的に両方出力
    A111111     1             1         #無効レコード
    W001003     9             8         #無効レコード

## 運用例

メッセージレベルごとのフィルター設定とメッセージ番号ごとのフィルター設定を組み合わせて、ログ出力するログ（メッセージ）を設定します。

特定のメッセージ番号のログ（メッセージ）だけをトレースログへ出力

例）

  すべてのメッセージレベルのログ（メッセージ）をトレースログおよびsyslogへ出力しない設定をし、メッセージ番号「W1002002」のログ（メッセージ）だけをトレースログへ出力する

  - システム動作環境設定のトレースログへの出力（tracelog）およびシステムログへの出力（syslog）に“000”を指定

        tracelog=000
        syslog=000

  - メッセージフィルタファイル（msgfilter.info）でメッセージ番号「W1002002」をトレースログへ出力する記述を追加

        # HULFT10 Message Filter
        #
        #       ID               Message number
        #       tracelog         0: No Output 1: Output
        #       syslog           0: No Output 1: Output
        #
        # ID            tracelog    syslog
        W1002002        1            0

特定のメッセージ番号のログ（メッセージ）だけはトレースログおよびsyslogへ出力しない

例）

  すべてのメッセージレベルのログ（メッセージ）をトレースログおよびsyslogへ出力する設定をし、メッセージ番号「I0001001」のログ（メッセージ）だけを出力しない

  - システム動作環境設定のトレースログへの出力（tracelog）およびシステムログへの出力（syslog）に“111”を指定

        tracelog=111
        syslog=111

  - メッセージフィルタファイル（msgfilter.info）でメッセージ番号「I0001001」をトレースログおよびsyslogへ出力しない記述を追加

        # HULFT10 Message Filter
        #
        #       ID               Message number
        #       tracelog         0: No Output 1: Output
        #       syslog           0: No Output 1: Output
        #
        # ID            tracelog    syslog
        I0001001        0            0