ログ(メッセージ)出力をフィルタする設定
ログ(メッセージ)を出力するかどうかを、メッセージレベルやメッセージ番号ごとに設定できます。この設定によって、確認したいメッセージだけを監視しやすくできます。
ここでは、各設定の方法および運用例について説明します。
メッセージレベルごとに、トレースログおよびsyslogに出力するかどうかのフィルタ設定ができます。
メッセージレベルは、「インフォメーション」、「ワーニング」、「エラー」の3つがあります。
メッセージレベルについては、「エラーコード・メッセージ」を参照してください。
設定方法
システム動作環境設定の以下の項目で指定してください。
-
トレースログに出力するメッセージレベルの指定
「トレースログへの出力(tracelog)」
初期値は、”001”(メッセージレベル「エラー」だけを出力する)です。
-
syslogに出力するメッセージレベルの指定
「システムログへの出力(syslog)」
初期値は、”000”(すべてのメッセージレベルを出力しない)です。
各項目の設定の詳細と設定例については、「その他設定」を参照してください。
メッセージレベルごとの設定がされていても、メッセージフィルタファイル(msgfilter.info)で指定された設定が優先されます。メッセージフィルタファイルについては、「(2) メッセージ番号ごとにフィルタする」を参照してください。
HULFTが出力するメッセージのうち、特定のログ(メッセージ)だけをトレースログおよびsyslogに出力するかどうかのフィルタ設定ができます。このフィルタ設定は、メッセージ番号ごとに指定します。
フィルタ設定は「メッセージフィルタファイル」というファイルで記述します。
ここでは、メッセージフィルタファイルの設定方法について説明します。
「(1) メッセージレベルごとにフィルタする」でメッセージレベルごとにログ出力するかどうかを設定できますが、メッセージフィルタファイルで設定したメッセージについては、メッセージフィルタファイルの設定が優先されます。
a) ファイル名
メッセージフィルタファイルの名称は「msgfilter.info」です。この名称は変更できません。
メッセージフィルタファイルはHULFTが使用するシステムファイルが存在するパス「HULPATH」に置きます。
b) 記述フォーマット
メッセージ番号 tracelog syslog
-
行の先頭に「#」があるときは、コメント行とみなされます。
-
行頭のスペースコードおよびタブコードは読み飛ばします。
-
項目と項目の区切りは、スペースコード(0x20)またはタブコード(0x09)を使用します。
スペースコードとタブコードが連続していても1つの区切り文字とみなします。
-
メッセージ番号が重複して記述されている場合は、後に記述された設定が有効となります。
-
以下のレコードが検出された場合、そのレコードを読み飛ばします。
-
不正なフォーマットで記述されている
-
メッセージ番号が不正である
-
許容しない文字または数値が指定されている
-
c) レコードレイアウト
メッセージフィルタファイル(msgfilter.info)はバイナリデータを含まないため、メモ帳などのエディタで作成できます。また、レコードはメッセージ番号ごとに記述します。1行につき、1メッセージ番号で記述してください。
1行(レコード)の最大長は1024バイトです。
d) 各項目の説明
各項目の説明を以下に示します。
- メッセージ番号
-
定義するメッセージ番号を指定します。
メッセージ番号については、「エラーコード・メッセージ」を参照してください。
- tracelog
-
指定したメッセージ番号のトレースログへの出力有無を指定します。
- 0
-
: ログを出力しない
- 1
-
: ログを出力する
- syslog
-
指定したメッセージ番号のsyslogへの出力有無を指定します。
- 0
-
: ログを出力しない
- 1
-
: ログを出力する
e) 設定例
【記述例】
# HULFT8 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 #無効レコード
(3) 運用例
メッセージレベルごとのフィルタ設定とメッセージ番号ごとのフィルタ設定を組み合わせて、ログ出力するログ(メッセージ)を設定します。
特定のメッセージ番号のログ(メッセージ)だけをトレースログへ出力
- 例)
-
すべてのメッセージレベルのログ(メッセージ)をトレースログおよびsyslogへ出力しない設定をし、メッセージ番号「W1002002」のログ(メッセージ)だけをトレースログへ出力する
-
システム動作環境設定のトレースログへの出力(tracelog)およびシステムログへの出力(syslog)に“000”を指定
tracelog=000 syslog=000
-
メッセージフィルタファイル(msgfilter.info)でメッセージ番号「W1002002」をトレースログへ出力する記述を追加
# HULFT8 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へ出力しない記述を追加
# HULFT8 Message Filter # # ID Message number # tracelog 0: No Output 1: Output # syslog 0: No Output 1: Output # # ID tracelog syslog I0001001 0 0
-