QHST 活動記録ログ

活動記録ログ (QHST) は、1 つのメッセージ待ち行列と、 ログ・バージョンと呼ばれる物理ファイルとによって構成されます。

メッセージは活動記録ログ・メッセージ待ち行列 (QHST) に送られ、 システムによって現行 (最新) のログ・バージョンの物理ファイルに書き込まれます。 活動記録ログには、システム、サブシステム、ならびにジョブに関する情報、装置の状況、およびシステム・オペレーター・メッセージなど、 システムの活動に関するハイレベルのトレース情報が含まれます。

1 つのログ・バージョンがいっぱいになると、ログに新しいバージョンが自動的に作成されます。 各バージョンはどれも物理ファイルで、以下の形式の名前が付けられます。


Qxxxyydddn

ここで、以下が true です。

xxx
ログ・タイプを示す 3 文字の記述 (HST)
yyddd
ログ・バージョンの最初のメッセージが作成された日付 (年間通算日形式)
n
同一の通算日内での順序番号 (A から Z または 0 から 9)
注: ヒストリー・ログの各バージョンのレコード数は、システム値 QHSTLOGSIZ で指定されます。 また、サイズのみに基づいて新規ファイルを作成するのではなく、日ごとに新規ログ・バージョンを作成できる値 *DAILY もあります。

ログ・バージョン・ファイルのテキストは、ログ・バージョンにおける最初と最後のメッセージの日付と時刻を含みます。 最初のメッセージの日付と時刻の位置は、 テキストの 1 から 13 桁目です。最後のメッセージの位置は、14 から 26 桁目です。 日付と時刻は、cyymmddhhmmss の形式です。 以下にそれぞれの内容を示します。

c
世紀保護数字
yymmdd
メッセージが送られた日付
hhmmss
メッセージが送られた時刻

同じ通算日に最大 36 個のログ・バージョンを作成することができます。 同じ日に 36 個より多くログ・バージョンを作成すると、 次に使用可能な通算日が直後のログ・バージョンに使用されます。 そして古いログ・バージョンをいくつか削除すると、 名前を再び使用することができます。 ログ・バージョンを削除し名前を再び使用すると、 名前により順序付けられているログ・バージョンは順序が乱れてしまいます。

活動記録ファイルを処理するプログラムを作成するか、IBM 提供の 関数を使用してファイルを処理することができます。 IBM は、 Display Log (DSPLOG) CL commandOpen List of History Log Messages (QMHOLHST) API を提供します。 各ログについてそれぞれいくつかのバージョンが使用可能なので、 ユーザーは処理したいログ・バージョンを選択しなければなりません。 使用可能なログ・バージョンを判別するには、 Display Object Description (DSPOBJD) コマンドを使用します。 例えば、以下のような DSPOBJD コマンドを使用すれば、 使用可能な活動記録ログのバージョンを表示することができます。


DSPOBJD   OBJ(QSYS/QHST*)   OBJTYPE(*FILE)

Work with Objects (WRKOBJ) コマンドで表示される画面から削除オプションを使用して、システム上のログを削除することができます。

Display Log (DSPLOG) コマンドを使用して、ログ内の情報を表示または印刷することができます。 表示または印刷したい情報を選択するには、以下の事項を組み合わせて指定してください。

  • 期間 (時間)
  • ログ項目を送ったジョブの名前
  • 項目のメッセージ識別コード

次の Display Log (DSPLOG) コマンドは、当日のジョブ OEDAILY の使用可能なすべての項目を表示します。


DSPLOG JOB(OEDAILY)

このコマンドによって表示される画面は次のとおりです。


                       Display History Log Contents
 
 Job OEDAILY started
 Database file OEMSTR in library OELIB expired
 Job OEDAILY abnormally ended
 Job OEDAILY started
 Job OEDAILY ended
 
 
 
 
 
 
 
 
 
 
 
 
                                                                 
        Bottom
 Press Enter to continue.
 
 F3=Exit   F10=Display all   F12=Cancel
 

システム日付または時刻を現在値よりも前の値に設定した場合、 またはシステム日付と時刻を 48 時間より進めた場合、 新しいログ・バージョンが開始されます。 これにより 1 つのログ・バージョンのすべてのメッセージが年代順になることが保証されます。

V3R6M0 より前のリリースで作成されたログ・バージョンは、 システム日付と時刻が前の値に設定されていた場合に、 年代順ではない項目を含みます。 したがって、ログ・バージョンを表示しようとした時点で一部の項目の欠落が生じることがあります。 例えば、ログ・バージョンに 1988 年の日付の項目と 1987 年の日付の項目が含まれており、それらの 1987 年の項目を表示したい場合、 Display Log (DSPLOG) コマンドの PERIOD パラメーターに 1987 年の日付を指定しますが、予期される項目は表示されません。 日時には常にシステム日付 (QDATE) およびシステム時刻 (QTIME) を使用するか、 または PERIOD パラメーターを以下のように指定してください。


PERIOD((start-time start-date) (*AVAIL *END))

システムは、メッセージ・キューが特定のサイズに達したとき、または Display Log (DSPLOG) コマンドが使用されたときに、ログ・メッセージ・キューに送信されたメッセージを現行のログ・バージョンの物理ファイルに書き込みます。 現行ログ・バージョンを最新のものにする場合には、DSPLOG コマンドに架空のメッセージ ID (例えば ###0000 など) を指定してください。 メッセージは表示されませんが、メッセージ待ち行列のメッセージは、ログ・バージョン物理ファイルにコピーされ、このファイルを最新にします。

注: メッセージが QHST に送信され、 Display Log (DSPLOG) コマンドが即時に実行された場合、DSPLOG コマンドはログ・バージョンの物理ファイルからのメッセージを表示します。 ログ・バージョンにコピーされるメッセージの数によっては、2 番目の Display Log (DSPLOG) コマンドが後で実行されるまでメッセージが表示されないことがあります。

Display Log (DSPLOG) コマンドおよび出力パラメーター *PRINT (DSPLOG OUTPUT (*PRINT)) を使用してログ内の情報を印刷する場合、各メッセージの最初の 105 文字を使用して、各メッセージから 1 行のみが印刷されます。

Display Log (DSPLOG) コマンドおよび出力パラメーター *PRTWRAP (DSPLOG OUTPUT (*PRTWRAP)) を使用してログ内の情報を印刷する場合、105 文字より長いメッセージは折り返され、追加の行が 2000 文字に制限されます。

Display Log (DSPLOG) コマンドおよび出力パラメーター *PRTSECLVL を使用してログ内の情報を印刷する場合、105 文字より長いメッセージは折り返され、追加の行が 2000 文字に制限されます。 また 2 次レベルのメッセージ・テキストも、使用可能な場合には、最大 6000 文字まで印刷されます。

Display Log (DSPLOG) コマンドを使用してログ内の情報を表示すると、105 文字のメッセージ・テキストのみが表示されます。 105 文字目以降の文字は、すべて切り捨てられます。