トレースの有効化
ここでは、トレースの有効化方法、トレース・メッセージの表示方法、およびトレース・メッセージの記録方法について説明します。
トレースについて
トレースは、主に開発時に使用するツールです。トレース要素を使用すれば、デバッグや診断のために、プロダクション内のさまざまな要素の振る舞いを確認できます。通常は、プロダクションを実稼働させる前には、トレースを無効にします。
プロダクションのトレース・メカニズムは、次のように動作します。
-
開発プロセスの一部として、InterSystems IRIS® 開発者がトレース要素をコードの適切な領域に追加します。これらのトレース要素は (状況に応じて) 実行時にトレース・メッセージを書き込みます。"トレース要素の追加" を参照してください。
トレース・メッセージは、大まかな意味でのメッセージにすぎません。すなわち、トレース・メッセージは単なる文字列であり、Ens.Message やそのサブクラスとは無関係です。
-
構成プロセスの一部として、次の手順を実行します。
-
トレースを有効にするようにプロダクションを構成します。この手順によって、実行時にトレース要素が (無視されずに) 実行されるようになります。
-
オプションで、トレース・メッセージのロギングを有効にします。この手順によって、トレース・メッセージがイベント・ログに書き込まれます。
-
オプションで、該当するビジネス・ホストがフォアグラウンドで実行されるように構成します。そうすることで、プロダクションの実行中にターミナルでトレース・メッセージを参照できるようになります。最後の節を参照してください。
-
通常は、プロダクションを実稼働させる前には、トレースを無効にします。
トレースの有効化
デフォルトでは、すべてのユーザ・トレース要素は有効になっています。各種のシステム・イベントのトレースを有効にすることもできます。
これを実行するには、^Ens.Debug グローバルの以下のノードの一部または全部の値を設定します。
ノード | 目的 |
---|---|
^Ens.Debug("TraceCat") | 以下のようにトレース全体を制御します。
|
^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") | 仮想ドキュメント・パーサからのシステム・トレースを有効または無効にします。 |
^Ens.Debug("TraceCat","protocol") | HL7 メッセージ内の MSH セグメントからのシーケンス番号のシステム・トレースを有効または無効にします。 |
^Ens.Debug("TraceCat","queue") | メッセージ・キュー管理に関するシステム・トレースを有効または無効にします。 |
^Ens.Debug("TraceCat", "sql") | SQL アダプタの処理イベントからのシステム・トレースを有効または無効にします。 |
^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
"%ETN ロギングの有効化" も参照してください。
トレース・メッセージのロギングの有効化
InterSystems IRIS は、トレース・メッセージをログに記録することもできます (つまり、トレース・メッセージをイベント・ログに書き込みます)。トレース・メッセージのロギングを有効または無効にするには、以下の設定を使用します。
-
任意のビジネス・ホストで、[トレース・イベントを記録] 設定を使用します。この設定を選択した場合は、すべての有効化されたトレース・メッセージがこのビジネス・ホスト・ログに記録されます。
-
プロダクションでは、[汎用トレース・イベントのログ] 設定を使用します。この設定を選択した場合は、ビジネス・ホストではないプロダクション要素から、すべての有効化されたトレース・メッセージがログに記録されます。
これらの設定間には、重複や相互作用はありません。[汎用トレース・イベントのログ] により、[トレース・イベントを記録] のデフォルト値を上書きまたは指定することはありません。
"すべてのプロダクションに含まれる設定" を参照してください。
ターミナルでのトレース・メッセージの表示
ターミナルでトレース・メッセージを表示するには、次の手順を実行します。
-
Windows Vista または Windows 7 を使用している場合は、以下のように Interactive Services Detection サービスを有効にする必要があります。
-
Windows の [スタート] メニューで、[管理ツール]→[サービス] の順にクリックします。
-
スクロールして [Interactive Services Detection] を表示します。
-
右クリックして [開始] を選択します。
-
-
目的の 1 つまたは複数のビジネス・ホストの [フォアグラウンド] 設定を有効にします。
プロダクションを実行すると、フォアグラウンド・ビジネス・ホストごとに 1 つずつのターミナル・ウィンドウが表示されます。このターミナル・ウィンドウでは、そのビジネス・ホストについて有効化されたトレース・メッセージがすべて表示されます。このウィンドウでは、すべてのログ項目と警告も表示されます。
-
Windows Vista または Windows 7 では、Interactive Services Detection サービスは、何らかのプログラムがメッセージを表示しようとしていることを示すダイアログ・ボックスを表示します。[メッセージの表示] をクリックします。これにより Interactive Services Detection サービスは、1 つまたは複数のターミナル・ウィンドウが含まれた 1 つのウィンドウを表示します。