1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

IBM i ジョブログ出力レベルの調整 レベル パラメーター指定

1
Last updated at Posted at 2026-04-19

こちらで質問があった件に関連してジョブログの設定について簡単に検証してみました。

iWorldweb QAフォーラム:コマンドラインの履歴が消える

IBM i のジョブログ出力レベルの設定

ジョブログの出力レベルの設定方法でもっとも一般的なのは、ジョブ記述に指定されたジョブログ出力レベルで決定されているように思います。他の方法としてはたとえば、CHGJOBコマンドでジョブ記述に指定のジョブログの出力レベルを変更するようなケースがあると思います。(上記リンク中の質問ケースは後者だったようです)

ジョブ記述 QDFTJOBD のジョブログの出力レベル関連設定

下図のような メッセージのロギング というパラメーターを確認します。
デフォルトではログレベル=4,重大度=0,テキスト=*NOLISTという値を確認できます。

image.png

レベル:0 ~ 4 でジョブログに出力する大まかなレベルを決定します。レベル4が最も多くログ出力し、レベル0が最も少なくなります。

重大度:CPFxxxxなどの個々のメッセージIDに設定されている重大度の事で、ここで指定した重大度より高い重大度のメッセージのみをジョブログに記録します。
重大度はRPG等のコンパイル時のメッセージと類似しており、重大度00~10は単なる警告やエラーではない表示メッセージ、20以上が何らかのエラーを示します。たとえば1つ目の画像のメッセージのロギングレベルの重大度を20と指定すると、エラー出ないメッセージをジョブログに出力しないように設定ができます。

テキスト:上記2つで指定した条件に合致するログだけがジョブログに記載されいますが、記載するメッセージの分量を指定するものです。
NOLISTはやや特殊でジョブが正常完了(終了コードが00か10 = 異常終了でない)の場合はジョブログそのものが生成されません。NOLIST以外の場合にはこの指定に沿ってメッセージ本文だけ、またはメッセージ本文に加えてその原因・回復手順をジョブログに記載します。

重大度は下図の例では右上に表示されています。(重大度 40)
image.png

ジョブログの出力レベル(メッセージのロギングレベル・パラメーター)の一覧

マニュアルはこちら(IBM i 7.6)

パラメーター名 設定値 説明
レベル 0 ジョブログにメッセージは記録されない エラー・通知関わらずメッセージがジョブログに記載されなくなります
1 重大度に指定したレベル以上の要求メッセージを記録する 重大度パラメーターに合致する要求エラーをログする等が可能になります
2 レベル1に加え、ログされたレベル1メッセージの結果生成される要求メッセージ(重大度に指定した以上のもの)を記録する メッセージタイプが 要求 のものだけをログします
3 レベル2に加え、ログされたレベル2メッセージの結果生成される要求メッセージ(重大度に関わらずすべて)を記録する  メッセージタイプが 要求 のものだけをログします
4 重大度以上の全てのメッセージと全ての要求メッセージを記録する  メッセージタイプが 要求 以外のものも含めてログします

メッセージのロギングレベルの設定例

上記表ではちょっとわかりにくいですね、、以下で実際に動かしてみます。
※現時点で一部に限定、随時追記します。

レベル 4 重大度 0 テキスト *NOLIST

これはOS導入時のデフォルトで最も多くログされる状態の指定です。

下記のジョブログは実行継続中の別な5250端末のジョブログをDSPJOBOLOGコマンド実行 → PF10キーで全てのメッセージを表示した例です。

上記のメッセージは以下の操作結果ログされたものです。

1.ユーザーGOMAでサインオン
2.CALL QCMD を実行
3.DSPNETAコマンドを実行
4.RUNQRY *N DEMOLIB/TOKMAS を実行(テーブル無し重大度30のエラー)
5.RUNQRY *N DEMOLIB/TOKMASP を実行(正常実行される。重大度00)

上記のジョブが正常に(端末セッションを X で閉じるなどせずに)サイン・オフし て終了した場合=ジョブが正常終了した場合、ジョブログは生成されません。(*NOLIST指定のため)

ところで1つ上の画面コピーにログされているジョブログ1行ずつにカーソルを当ててPF1キーを押して確認すると、

1.のメッセージ
image.png

PF1キーでメッセージの詳細を確認すると、重大度 00 メッセージ・タイプ 情報(Information) と分かります。
image.png

1行飛ばして、call qcmd の行をPF1キーで確認すると、重大度 00 メッセージタイプ 要求 です。**
image.png

画面省略しますが、DSPNETAコマンドも重大度 00 メッセージタイプ 要求 です。

エラーとなった RUNQRY *N DEMOLIB/TOKMAS をPF1キーで見ると 重大度 00 メッセージタイプ 要求 でした。
image.png

次の行の DEMOLIBで入力ファイルTOKMASが見つからなかった。 はRUNQRYがエラーとなった為出力されたメッセージですね。このメッセージをPF1キーで見ると、重大度 30 メッセージタイプ エスケープ でした。

ここで上記の一覧表の記載が分かったと思います。
レベル2 3の場合、メッセージタイプが要求のものだけをログ対象とします。レベル4の場合はメッセージタイプが要求以外のものもログ対象になります。

対象のジョブを異常終了させてみる

レベル 4 重大度 0 テキスト *NOLISTの場合、ノーマルにサインオフ=ジョブを正常終了させると、上記のようなジョブログは生成されません。
ではわざと端末セッションを異常終了させてみます(5250端末画面を X で終了させます。)
すると、、ジョブログが生成されます。(画面2行目のスプールファイル)
image.png

中を確認すると、上の方で確認したのと同様なジョブログが確認できます。
image.png

※以下の2ページ目はおまけになりますが、5250端末画面を X で異常終了させた後のログになります。
1つ目の CPF5140 が5250端末を X で押した結果ログされたメッセージです。以下、異常終了に対応する処理の流れがログされています。

image.png

レベル1, 2, 3

レベル1,2,3の検証は後日…

レベル 0 重大度 0 テキスト *NOLIST

この設定の場合も(レベル4 重大度0 テキスト*NOLISTの時と同様に)ジョブが正常終了するとジョブログを生成しません。
それでは異常終了させるとどうなるでしょうか。

まず異常終了させるジョブの設定をレベル 0 に変更します。
image.png
念のため確認
image.png

レベル 0 でOKですね。

ジョブログの出力先となるOUTQはこのようになっていて、
image.png

5250端末でコマンドを実行して、、
image.png

最後に X で端末セッションを終了させます。
image.png

5250端末ジョブは Xでクローズ (異常終了)していますが、ジョブログは記録されません。
image.png

長くなってしまったで区切りますが、メッセージのロギングレベルは3つの指定(レベル 重大度 テキスト)で変化する1例でした。

1
0
5

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?