Azure Diagnostics で Cloud Services (クラシック) アプリケーションのフローをトレースする

重要

現在、Cloud Services (クラシック) は新しいお客様に対して非推奨となっており、2024 年 8 月 31 日に、すべてのお客様に対して廃止される予定です。 新しいデプロイでは、新しい Azure Resource Manager ベースのデプロイ モデル、 Azure Cloud Services (延長サポート) を使用してください。

トレースは、実行中のアプリケーションの実行を監視するための手段です。 System.Diagnostics.TraceSystem.Diagnostics.Debug、および System.Diagnostics.TraceSource の各クラスを使用すると、エラーとアプリケーションの実行に関する情報をログ、テキスト ファイル、またはその他のデバイスに記録して、後で分析することができます。 トレースの詳細については、「 アプリケーションのトレースとインストルメント」を参照してください。

トレース ステートメントとトレース スイッチを使用する

Cloud Services アプリケーションにトレース機能を実装するには、 DiagnosticMonitorTraceListener をアプリケーションの構成に追加し、アプリケーション コード内で System.Diagnostics.Trace または System.Diagnostics.Debug を呼び出します。 worker ロールでは構成ファイル app.config を使用し、Web ロールでは構成ファイル web.config を使用します。 Visual Studio テンプレートを使用してホストされるサービスを新規に作成する場合は、Azure Diagnostics が自動的にプロジェクトに追加され、さらに、DiagnosticMonitorTraceListener が追加したロールの適切な構成ファイルに追加されます。

トレース ステートメントを配置する方法の詳細については、「How to: Add Trace Statements to Application Code (トレース ステートメントをアプリケーション コードに追加する方法)」を参照してください。

トレース スイッチ をコード内に配置すると、トレースを行うかどうか、対象範囲をどうするかを制御することができます。 トレースを使用すると、運用環境でアプリケーションの状態を監視できます。 アプリケーションの状態の監視は、複数のコンピューター上で実行される複数のコンポーネントを使用するビジネス アプリケーションでは特に重要です。 詳細については、「トレース スイッチを構成する方法に関するページを参照してください。

Azure アプリケーションでトレース リスナーを構成する

Trace、Debug、TraceSource では、送信されるメッセージを収集および記録するように "リスナー" をセットアップする必要があります。 リスナーでは、トレース メッセージを収集、格納、およびルーティングします。 リスナーは、トレース出力を、ログ、ウィンドウ、テキスト ファイルなど、適切なターゲットに転送します。 Azure Diagnostics では、 DiagnosticMonitorTraceListener クラスが使用されます。

次の手順を完了する前に、Azure 診断モニターを初期化する必要があります。 Azure 診断モニターを初期化するには、Microsoft Azure での診断の有効化に関するページを参照してください。

Note

Visual Studio で提供されるテンプレートを使用すると、リスナーの構成は自動的に追加されます。

トレース リスナーを追加する

  1. ロールに応じて web.config または app.config ファイルを開きます。

  2. 次のコードをファイルに追加します。 参照しているアセンブリのバージョン番号を使用するように Version 属性を変更します。 アセンブリのバージョンは、更新がない限り、Azure SDK リリースごとに必ずしも変更されるわけではありません。

    <system.diagnostics>
        <trace>
            <listeners>
                <add type="Microsoft.WindowsAzure.Diagnostics.DiagnosticMonitorTraceListener,
                  Microsoft.WindowsAzure.Diagnostics,
                  Version=2.8.0.0,
                  Culture=neutral,
                  PublicKeyToken=31bf3856ad364e35"
                  name="AzureDiagnostics">
                    <filter type="" />
                </add>
            </listeners>
        </trace>
    </system.diagnostics>
    

    重要

    Microsoft.WindowsAzure.Diagnostics アセンブリへのプロジェクト参照があることを確認してください。 参照先の Microsoft.WindowsAzure.Diagnostics アセンブリのバージョンと一致するように上記の xml のバージョン番号を更新します。

  3. 構成ファイルを保存します。

リスナーの詳細については、「 トレース リスナー」を参照してください。

リスナーを追加する手順を完了すると、コードにトレース ステートメントを追加できます。

コードにトレース ステートメントを追加するには

  1. アプリケーション用のソース ファイルを開きます。 たとえば、worker ロールまたは Web ロール用の <RoleName>.cs ファイルを開きます。
  2. 次の using ディレクティブが存在しない場合は追加します。
        using System.Diagnostics;
    
  3. Trace ステートメントを追加し、アプリケーションの状態に関する情報をキャプチャします。 Trace ステートメントの出力は、さまざまな方法で書式設定できます。 詳細については、「Add Trace Statements to Application Code (トレース ステートメントをアプリケーション コードに追加する方法)」を参照してください。
  4. ソース ファイルを保存します。