Skip to main content

This is documentation for Caché & Ensemble. See the InterSystems IRIS version of this content.Opens in a new tab

For information on migrating to InterSystems IRISOpens in a new tab, see Why Migrate to InterSystems IRIS?

トレースの有効化

この章では、トレースの有効化方法、トレース・メッセージの表示方法、およびトレース・メッセージの記録方法について説明します。この章は以下の節で構成されています。

トレースについて

トレースは、主に開発時に使用するツールです。トレース要素を使用すれば、デバッグや診断のために、プロダクション内のさまざまな要素の振る舞いを確認できます。通常は、プロダクションを実稼働させる前には、トレースを無効にします。

Ensemble のトレース・メカニズムは、次のように動作します。

  • 開発プロセスの一部として、Ensemble 開発者がトレース要素をコードの適切な領域に追加します。これらのトレース要素は (状況に応じて) 実行時にトレース・メッセージを書き込みます。"Ensemble プロダクションの開発" の “Ensemble のプログラミング” の章で “トレース要素の追加” を参照してください。

    トレース・メッセージは、大まかな意味でのメッセージにすぎません。すなわち、トレース・メッセージは単なる文字列であり、Ens.Message やそのサブクラスとは無関係です。

  • 構成プロセスの一部として、次の手順を実行します。

    • トレースを有効にするようにプロダクションを構成します。この手順によって、実行時にトレース要素が (無視されずに) 実行されるようになります。

    • オプションで、トレース・メッセージのロギングを有効にします。この手順によって、トレース・メッセージがイベント・ログに書き込まれます。

    • オプションで、該当するビジネス・ホストがフォアグラウンドで実行されるように構成します。そうすることで、プロダクションの実行中にターミナルでトレース・メッセージを参照できるようになります。この章の最終節を参照してください。

通常は、プロダクションを実稼働させる前には、トレースを無効にします。

トレースの有効化

デフォルトでは、すべてのユーザ・トレース要素は有効になっています。各種のシステム・イベントのトレースを有効にすることもできます。

これを実行するには、^Ens.Debug グローバルの以下のノードの一部または全部の値を設定します。

ノード 目的
^Ens.Debug("TraceCat") 以下のようにトレース全体を制御します。
  • このノードが設定されていない場合は、ユーザ・トレース要素のみが有効化されます。この場合は、このテーブルの残り部分で説明しているように、サブノードを設定することで特定種類のシステム・トレースを有効にできます。

  • このノードの値が 0 の場合は、どのトレースも有効化されません。

  • このノードの値が 1 の場合は、明示的に無効化された種類のトレースを除いて、すべてのトレースが有効化されます。

^Ens.Debug("TraceCat","bproc") ビジネス・プロセスからのシステム・トレースを有効または無効にします。

このノードおよびこのテーブル内のこれ以降のすべてのノードについては、そのノードの値が 1 の場合は、指定されたトレースが有効化されます。ノードの値が 0 の場合は、これらのトレースは無効化されます。親ノードの値が 0 の場合は、このノードは無視されます。

^Ens.Debug("TraceCat","connwait") 接続待ち状態のアダプタからのシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","exterr") 外部システムからのエラーを示すシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","file") ファイルの読み取り操作または書き込み操作からのシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","ontask") ビジネス・ホスト・フレームワーク・イベントからのシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","parse") HL7 および他の仮想ドキュメント・パーサからのシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","protocol") HL7 メッセージ内の MSH セグメントからのシーケンス番号のシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","queue") メッセージ・キュー管理に関するシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","system") 一般的なシステム・トレース要素を有効または無効にします。
^Ens.Debug("TraceCat","timing") 呼び出しの所要時間に関する情報を提供するシステム・トレースを有効または無効にします。
^Ens.Debug("TraceCat","transform") DTL データ変換に関するシステム・トレースを有効または無効にします (エラーは除く)。
^Ens.Debug("TraceCat","user") ユーザ・トレースを有効または無効にします。
^Ens.Debug("TraceCat","xform") DTL データ変換のエラーに関するシステム・トレースを有効または無効にします。

例えば、メッセージ・キュー管理に関連したトレースを有効にするには、該当するネームスペースで、ターミナルから以下のコマンドを入力します。

set ^Ens.Debug("TraceCat","queue")=1

"Ensemble プロダクションの開発" の “テストとデバッグ” の章で “%ETN ロギングの有効化” も参照してください。

トレース・メッセージのロギングの有効化

Ensemble は、トレース・メッセージをログに記録することもできます (つまり、トレース・メッセージをイベント・ログに書き込みます)。トレース・メッセージのロギングを有効または無効にするには、以下の設定を使用します。

  • 任意のビジネス・ホストで、[トレース・イベントを記録] 設定を使用します。この設定を選択した場合は、すべての有効化されたトレース・メッセージがこのビジネス・ホスト・ログに記録されます。

  • プロダクションでは、[汎用トレース・イベントのログ] 設定を使用します。この設定を選択した場合は、ビジネス・ホストではないプロダクション要素から、すべての有効化されたトレース・メッセージがログに記録されます。

これらの設定間には、重複や相互作用はありません。[汎用トレース・イベントのログ] により、[トレース・イベントを記録] のデフォルト値を上書きまたは指定することはありません。

"Ensemble プロダクションの構成" の “すべてのプロダクションに含まれる設定” を参照してください。

ターミナルでのトレース・メッセージの表示

ターミナルでトレース・メッセージを表示するには、次の手順を実行します。

  1. Windows Vista または Windows 7 を使用している場合は、以下のように Interactive Services Detection サービスを有効にする必要があります。

    1. Windows の [スタート] メニューで、[管理ツール]→[サービス] の順にクリックします。

    2. スクロールして [Interactive Services Detection] を表示します。

    3. 右クリックして [開始] を選択します。

  2. 目的の 1 つまたは複数のビジネス・ホストの [フォアグラウンド] 設定を有効にします。

    プロダクションを実行すると、フォアグラウンド・ビジネス・ホストごとに 1 つずつのターミナル・ウィンドウが表示されます。このターミナル・ウィンドウでは、そのビジネス・ホストについて有効化されたトレース・メッセージがすべて表示されます。このウィンドウでは、すべてのログ項目と警告も表示されます。

  3. Windows Vista または Windows 7 では、Interactive Services Detection サービスは、何らかのプログラムがメッセージを表示しようとしていることを示すダイアログ・ボックスを表示します。[メッセージの表示] をクリックします。これにより Interactive Services Detection サービスは、1 つまたは複数のターミナル・ウィンドウが含まれた 1 つのウィンドウを表示します。

FeedbackOpens in a new tab