TEXTFILE エミッターのプロパティ

TEXTFILE エミッターのプロパティを設定して、テキスト トレース ファイルの動作と外観を制御します。

テキスト トレース ファイルは、トレースを実行する際のデフォルトの形式です。

ファイルの動作と外観を制御するには、統合化トレース機能の構成ファイルで TEXTFILE エミッターの次のプロパティを設定します。

プロパティ 説明 デフォルト
DELIMCHAR トレース イベントのトレース データ部分を区切るために出力ファイルで使用される文字。 SPACE
FILE 書き込み対象のトレース ファイルの名前。トレース ファイル名の構築には、次の疑似変数を使用できます。
$(APPNAME)
現在のプロセスを開始するために呼び出された実行可能プログラムの基本名。たとえば、run.exe を呼び出した場合、$(APPNAME) には "run" (Windows) または "cobrun" (UNIX) の値が入ります。
$(EMITTER)
このエミッターの場合は、常に"TEXTFILE" になります。
$(GEN)
ファイルの生成値。1 から始まります。
$(PID)
現在のプロセスに関するオペレーティング システム識別子。
$(PLATFORM)
プラットフォーム固有の定数。同じ処理を行っている 2 つのランタイム システムに対して、それぞれトレース ファイルが必要な場合に役立ちます。値は、次のいずれかになります。
native
すべてのネイティブ プロセスの場合
dotnet
Microsoft .NET プロセスの場合
jvm
JVM プロセスの場合
$(RUNUNIT)
マネージ RunUnit ID を表す一意の番号 (.NET および JVM COBOL にのみ該当します)。
$(RUNUNIT_SESSIONNAME)
マネージ RunUnit に渡されるセッション名 (.NET および JVM COBOL にのみ該当します)。
$(RUNUNIT_GUID)
マネージ RunUnit に関連付けられるグローバルで一意の識別子 (.NET および JVM COBOL にのみ該当します)。
$(APPNAME).$(EMITTER).$(PID).log、または $(APPNAME).$(EMITTER).$(PID).log_$(GEN) (MAXGENERATION プロパティが指定されている場合)。次に例を示します。
  • TEXTFILE エミッターを使用して、process-id 3456 として実行している run.exe (Windows) または cobrun (全プラットフォーム) のトレース イベントを出力しており、かつ MAXGENERATION プロパティが指定されていない場合、作成されるトレース ファイルは run.textfile.3456.log (Windows) または cobrun.textfile.3456.log (全プラットフォーム) という名前になります。
  • TEXTFILE エミッターを使用して、process-id 1975 として実行している myapp.exe (Windows) または myapp (全プラットフォーム) のトレース イベントを出力しており、かつ MAXGENERATION プロパティが 3 に設定されている場合、作成されるトレース ファイルは myapp.textfile.1975.log_1myapp.textfile.1975.log_2、および myapp.textfile.1975.log_3 という名前になります。
FLUSHEVERY ファイルがフラッシュされる前に出力されるトレース レコードの数。0 は、ファイルが明示的にフラッシュされないことを示します。 1
FORMAT ファイルに書き込まれる各トレース データ レコードに使用される形式。形式の指定で次の擬似変数を使用できます。
$(COMPONENT)
トレース イベントを出力するコンポーネントの名前。
$(DATA)
トレース イベントで出力されるコンポーネントにより指定されるトレース データ。各トレース部分が、DELIMCHAR プロパティで指定される文字で区切られます。
$(DATE)
現在の日付。yyyy/mm/dd の形式で出力されます。
$(EVENT)
トレース イベントを出力するコンポーネントによって指定されるイベント識別子。
$(LEVEL)
トレース レベル:
  • 0 = デバッグ
  • 1 = 情報
  • 2 = 警告
  • 3 = エラー
  • 4 = 致命的
$(PID)
現在のプロセス ID。$(PROCESS) と同じです。
$(PROCESS)
現在のプロセス ID。$(PID) と同じです。
$(RUNUNIT)
トレース イベントに関連する RunUnit を識別する一意の番号。
$(THREAD)
現在のオペレーティング システムのスレッド識別子。
$(TIME)
現在の時刻。hh:mm:ss のフォーマットで出力されます。
$(TIME) $(COMPONENT) $(EVENT) $(LEVEL) $(DATA)
HEXBLOCKSIZE バイナリ フォーマットのトレース データを出力する際に、各ブロックで出力される 16 進数バイトの数。16 進文字の各ブロックは、「-」文字で区切られます。たとえば、HEXBLOCKSIZE を 4 に設定し、値 3132333435363738393A3B3C3D3E3F を持つバイナリ フォーマットのトレース データを出力に指定すると、次のようにフォーマットされます。
31323334-35363738-393A3B3C-3D3E3F
8
LOCATION トレース ファイルの書き込み先のフォルダー。 Windows プラットフォームでは、このフォルダーは MFTRACE_LOGS 環境変数で指定されます。MFTRACE_LOGS が設定されていない場合は、現在のフォルダーが使用されます。
注:32 ビット版及び 64 ビット版 Visual COBOL コマンド プロンプト では、MFTRACE_LOGS を %ProgramData%\Micro Focus\Visual COBOL\2.x\mftrace\logs に設定します。

LOCATION プロパティで指定されたフォルダーが存在しない場合、統合化トレース機能によりそのフォルダーが作成されます。この処理が失敗すると、統合化トレース機能はデフォルトの場所 (MFTRACE_LOGS 環境変数で指定) を使用します。この処理が失敗すると、現在のフォルダーが使用されます。

MAXFILESIZE ファイルが閉じられ、生成シーケンスの次のトレースファイルが開かれる前に、トレース ファイルに書き込まれるデータの最大量 (KB 単位)。生成シーケンスの最初のトレース ファイルにより、$(GEN) 疑似変数 (上記の FILE プロパティの説明を参照) が 1 に設定され、生成シーケンスの 2 番目のトレース ファイルにより、$(GEN) 疑似変数が 2 に設定されます。この一連の設定は、MAXGENERATION を超えるまで続きます。ファイル数が MAXGENERATION で指定した数に達すると、生成番号は 1 に戻り、生成シーケンスの最初のトレース ファイルが上書きされます。これは、MAXGENERATION の値が 1 よりも大きい場合に使用されます。 0x00002800。最大ファイル サイズが 10 MB であることを示します。
MAXGENERATION トレーシングが有効である間に書き込まれるトレース ファイルの最大数。このプロパティは、MAXFILESIZE プロパティとともに使用します。 1。単一のトレース ファイルのみ作成することを示します。
MultiProc 単一または複数のプロセスによってトレース イベントをトレース ファイルに書き込むかどうかを制御します。複数のプロセスに対して有効になっている場合は、その名前に $(PID) 擬似変数を埋め込まずに File プロパティも指定する必要があります。

$(RUNUNIT)、$(RUNUNIT_SESSIONNAME)、または $(RUNUNIT_GUID) を使用する場合、ファイル名は一意になるため MultiProc は不要です (.NET および JVM COBOL にのみ該当)。

FALSE。設定済みのトレース ファイルに、現在のプロセスからのイベントのみが含まれることを示します。
QUOTESTRING 文字列トレース データが二重引用符で囲まれて出力されるかどうかを指定します。 TRUE

パフォーマンスの考慮事項

MultiProc プロパティを使用し、複数の COBOL ランタイム システム (ネイティブ、.NET、または JVM) が同じプロセスで実行されている場合、同じトレース ファイルを共有するように構成して実行することはできません。ファイル名に $(PLATFORM) 変数を使用すると、ランタイム システムごとに異なるファイル名を使用できます。トレースに $(PID) 変数が含まれている場合は、MultiProc プロパティを false に設定できます。次に例を示します。

$(APPNAME).$(EMITTER).$(PID).$(PLATFORM).log

JVM または .NET COBOL アプリケーションを複数のユーザー環境で実行する場合は、マネージ RunUnits のユーザーを使用します。TEXTFILE および BINFILE エミッターの両方のデフォルトのファイル名では、すべてのトレース イベントが 1 つ以上のファイルに収集されます。ただし、構成プロパティ #file が $(RUNUNIT)、$(RUNUNIT_SESSIONNAME)、または $(RUNUNIT_GUID) を使用する場合は、RunUnit ごとに別々のファイルを作成できます。次に例を示します。

$(APPNAME).$(PLATFORM).$(EMITTER).$(RUNUNIT_GUID).log

または

$(APPNAME).$(PLATFORM).$(EMITTER).$(RUNUNIT).log

または

$(APPNAME).$(PLATFORM).$(EMITTER).$(RUNUNIT_SESSIONNAME).log

JVM COBOL の制限事項

JVM COBOL アプリケーションが権限制限された環境で実行されている場合、TEXTFILE エミッターで MultiProc プロパティを使用することはできません。