Microsoft NET Framework ベースおよび .NET Core クライアント・プログラムのトレース
IBM.CTG.Client.dll および IBM.CTG.Core.dll でトレースをアクティブにするには、アプリケーション構成ファイルにトレースを指定するか、Trace クラスを使用します。
トレース・レベル
使用可能なトレース・レベルは次のとおりです。
- CtgTrcDisabled
- トレースを無効にします
- CtgTrcLevel1
- 例外トレース・ポイントのみを含みます
- CtgTrcLevel2
- イベント・トレース・ポイントと、すべての CtgTrcLevel1 トレース・ポイントを含みます
- CtgTrcLevel3
- 関数の入り口と出口のトレース・ポイントと、すべての CtgTrcLevel1 および CtgTrcLevel2 トレース・ポイントを含みます
- CtgTrcLevel4
- デバッグ・トレース・ポイントと、すべての CtgTrcLevel1、CtgTrcLevel2 および CtgTrcLevel3 トレース・ポイントを含みます (最も冗長なトレース・レベル)
Microsoft .NET Framework ベースのアプリケーションにおけるアプリケーション構成ファイルでのトレースの指定
トレースを有効にするには、アプリケーション構成ファイル (XML ファイル) 内の CtgTrace トレース・スイッチを使用します。 このスイッチでは、トレースを IBM®.CTG.TraceLevel 値、 System.Diagnostics.TraceLevel 値、または0から4までの整数で指定することができる。 以下の例では、スイッチの
value="CtgTrcLevel4" によってレベル 4 のトレースを指定し、データ・ブロックのトレースを最初の 128 バイトに制限しています。<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.diagnostics>
<switches>
<add name="CtgTrace" value="CtgTrcLevel4" dataDumpOffset="0" dataDumpLength="128"/>
</switches>
<trace>
<listeners>
<add name="AppTrace" type="System.Diagnostics.TextWriterTraceListener" initializeData="Application.trc"/>
</listeners>
</trace>
</system.diagnostics>
</configuration>
App.config というサンプル・トレース構成ファイルは、SDK パッケージに含まれているか、 CICS® Transaction Gateway がインストールされている Windows マシン上の <install_path>\samples\csharp\eci および <install_path>\samples\vb\eci に含まれています。
Microsoft .NET Core アプリケーションにおけるアプリケーション構成ファイルでのトレースの指定
appsettings.json ファイルの Logging セクションに以下の属性を追加することにより、トレースを有効にすることができます。
TraceLevel, FileName.
TraceLevel は、0 から 4 までの整数です。 Filename は、トレースがダンプされるファイルです。 何も指定しない場合、デフォルトのファイル名は、アプリケーションの現行作業ディレクトリー内の Application.trc_<PID> です。 CICS TG が複数のプロセスをサポートできるように、トレース・ファイル名 ( Application.trcなど) に <PID> が付加されます。
次の例では、TraceLevel が 4 に設定されており、FileName が Application.trc に設定されています。
{
"Logging": {
"TraceLevel": 4,
"FileName" : "Application.trc"
}
}
トレース・クラスの使用
Trace クラスには、以下のメンバーが含まれています。
- TraceLevel
- トレース・レベルを取得または設定します
- DataDumpOffset
- CtgTrcLevel4 でのトレース時に各データ・ブロックの開始オフセットを取得または設定します
- DataDumpLength
- CtgTrcLevel4 の各データ・ブロックでトレースされるデータの最大量を取得または設定します
詳しくは、 トレースを参照してください。