Visual Studio を使用した Azure App Service のアプリのトラブルシューティングTroubleshoot an app in Azure App Service using Visual Studio

概要Overview

このチュートリアルでは、Visual Studio Tools を活用し、App Service のアプリをデバッグ モードでリモートから実行するか、アプリケーションのログと Web サーバーのログを参照することによってデバッグする方法を説明します。This tutorial shows how to use Visual Studio tools to help debug an app in App Service, by running in debug mode remotely or by viewing application logs and web server logs.

学習内容:You'll learn:

  • Visual Studio から利用できるアプリ管理機能。Which app management functions are available in Visual Studio.
  • Visual Studio のリモート ビューを使用して、リモート アプリをすばやく変更する方法。How to use Visual Studio remote view to make quick changes in a remote app.
  • Azure でプロジェクトが実行されているときに、アプリと Web ジョブの両方をリモートからデバッグ モードで実行する方法。How to run debug mode remotely while a project is running in Azure, both for an app and for a WebJob.
  • アプリケーションのトレース ログを作成する方法と、ログが作成されている最中にそれらを確認する方法。How to create application trace logs and view them while the application is creating them.
  • Web サーバーのログ (詳細なエラー メッセージ、失敗した要求トレースを含む) を確認する方法。How to view web server logs, including detailed error messages and failed request tracing.
  • Azure のストレージ アカウントに診断ログを送り、そこでログを確認する方法。How to send diagnostic logs to an Azure Storage account and view them there.

Visual Studio Ultimate がある場合は、デバッグに IntelliTrace を使用することもできます。If you have Visual Studio Ultimate, you can also use IntelliTrace for debugging. IntelliTrace については、このチュートリアルでは説明しません。IntelliTrace is not covered in this tutorial.

前提条件Prerequisites

このチュートリアルでは、Azure App Service での ASP.NET アプリの作成に関するページで設定した開発環境、Web プロジェクト、および App Service アプリを使用します。This tutorial works with the development environment, web project, and App Service app that you set up in Create an ASP.NET app in Azure App Service. Web ジョブのセクションでは、Azure Web ジョブ SDK の使用に関するページで作成したアプリケーションが必要です。For the WebJobs sections, you'll need the application that you create in Get Started with the Azure WebJobs SDK.

このチュートリアルで示すコード サンプルは、C# MVC Web アプリケーションに対応していますが、トラブルシューティング手順は Visual Basic および Web フォームの各アプリケーションでも同じです。The code samples shown in this tutorial are for a C# MVC web application, but the troubleshooting procedures are the same for Visual Basic and Web Forms applications.

このチュートリアルは、Visual Studio 2019 の使用を前提としています。The tutorial assumes you're using Visual Studio 2019.

ストリーミング ログ機能は、.NET Framework 4 以降を対象とするアプリケーションでのみ動作します。The streaming logs feature only works for applications that target .NET Framework 4 or later.

アプリの構成と管理App configuration and management

Visual Studio は、Azure portal で利用できるアプリ管理機能や構成設定に一部アクセスできるようになっています。Visual Studio provides access to a subset of the app management functions and configuration settings available in the Azure portal. このセクションでは、サーバー エクスプローラーを使用することで、その対象となる機能や設定について取り上げます。In this section, you'll see what's available by using Server Explorer. 最新の Azure の統合機能を確認するために、 Cloud Explorer もお試しください。To see the latest Azure integration features, try out Cloud Explorer also. どちらのウィンドウも [表示] メニューから開くことができます。You can open both windows from the View menu.

  1. まだ Visual Studio で Azure にサインインしていない場合は、サーバー エクスプ ローラーで、 [Azure] を右クリックし、Microsoft Azure サブスクリプションへの接続を選択します。If you aren't already signed in to Azure in Visual Studio, right-click Azure and select Connect to Microsoft Azure Subscription in Server Explorer.

    または、アカウントへのアクセスを可能にする管理証明書をインストールします。An alternative is to install a management certificate that enables access to your account. 証明書をインストールする方針を選択した場合は、サーバー エクスプローラーで、 [Azure] ノードを右クリックし、コンテキスト メニューの [サブスクリプションの管理およびフィルター] を選択します。If you choose to install a certificate, right-click the Azure node in Server Explorer, and then select Manage and Filter Subscriptions in the context menu. [Microsoft Azure サブスクリプションの管理] ダイアログ ボックスで、 [証明書] タブをクリックし、 [インポート] をクリックします。In the Manage Microsoft Azure Subscriptions dialog box, click the Certificates tab, and then click Import. 操作手順に従い、Azure アカウント用のサブスクリプション ファイル ( .publishsettings ファイル) をダウンロードしてインポートします。Follow the directions to download and then import a subscription file (also called a .publishsettings file) for your Azure account.

    注意

    サブスクリプション ファイルをダウンロードする場合は、ソース コード ディレクトリの外にあるフォルダー (Downloads フォルダーなど) に保存し、インポートが完了したらそのファイルを削除します。If you download a subscription file, save it to a folder outside your source code directories (for example, in the Downloads folder), and then delete it once the import has completed. 悪意のあるユーザーがサブスクリプション ファイルへのアクセス許可を取得すると、Azure サービスを編集、作成、削除できるためです。A malicious user who gains access to the subscription file can edit, create, and delete your Azure services.

    Visual Studio から Azure リソースへの接続の詳細については、「 アカウント、サブスクリプション、管理ロールの管理」を参照してください。For more information about connecting to Azure resources from Visual Studio, see Manage Accounts, Subscriptions, and Administrative Roles.

  2. サーバー エクスプローラー[Azure] を展開し、 [App Service] を展開します。In Server Explorer, expand Azure and expand App Service.

  3. Azure App Service での ASP.NET Web アプリの作成に関するページで作成したアプリを含むリソース グループを展開し、アプリ ノードを右クリックして、 [設定の表示] をクリックします。Expand the resource group that includes the app that you created in Create an ASP.NET app in Azure App Service, and then right-click the app node and click View Settings.

    サーバー エクスプローラーの [設定の表示]

    [Azure Web アプリ] タブが表示され、Visual Studio から利用できるアプリ管理タスクや構成タスクが確認できます。The Azure Web App tab appears, and you can see there the app management and configuration tasks that are available in Visual Studio.

    Azure Web アプリ ウィンドウ

    このチュートリアルでは、ログとトレースのドロップダウンを使用します。In this tutorial, you'll use the logging and tracing drop-downs. また、リモート デバッグも使用し、さまざまな方法でこの機能を有効にします。You'll also use remote debugging but you'll use a different method to enable it.

    このウィンドウの [アプリ設定] ボックスの一覧と [接続文字列] ボックスの一覧については、「Azure App Service:How Application Strings and Connection Strings Work (アプリケーション文字列と接続文字列の動作)」をご覧ください。For information about the App Settings and Connection Strings boxes in this window, see Azure App Service: How Application Strings and Connection Strings Work.

    このウィンドウでは実行できないアプリ管理タスクを行う場合は、 [管理ポータルで開く] をクリックし、ブラウザー ウィンドウを開いて Azure portal にアクセスします。If you want to perform an app management task that can't be done in this window, click Open in Management Portal to open a browser window to the Azure portal.

サーバー エクスプローラーでのアプリ ファイルへのアクセスAccess app files in Server Explorer

通常は、Web.config ファイルで customErrors フラグを On または RemoteOnly に設定して Web プロジェクトをデプロイします。これは、何か問題が発生したときに、役に立つエラー メッセージを表示しないことを意味します。You typically deploy a web project with the customErrors flag in the Web.config file set to On or RemoteOnly, which means you don't get a helpful error message when something goes wrong. 表示されるエラーの多くは、次のいずれかのようなページになります。For many errors, all you get is a page like one of the following ones:

'/' アプリケーションのサーバー エラー:Server Error in '/' Application:

あまり役に立たないエラー ページ

エラーが発生しました:An error occurred:

あまり役に立たないエラー ページ

Web サイト側でページを表示できませんThe website cannot display the page

あまり役に立たないエラー ページ

多くの場合、エラーの原因を最も簡単に見つける方法は、詳細なエラー メッセージを有効にすることです。その結果、既に示した最初のスクリーンショットのように、対応方法が表示されます。Frequently the easiest way to find the cause of the error is to enable detailed error messages, which the first of the preceding screenshots explains how to do. ここでは、デプロイした Web.config ファイルの変更が必要です。That requires a change in the deployed Web.config file. プロジェクト内の Web.config ファイルを編集し、プロジェクトを再デプロイすること、または Web.config の変換を作成し、デバッグ ビルドをデプロイすることもできますが、より簡単な方法があります。ソリューション エクスプローラーで、リモート ビュー機能を使用して、リモート アプリからファイルを直接表示し、編集することができます。You could edit the Web.config file in the project and redeploy the project, or create a Web.config transform and deploy a debug build, but there's a quicker way: in Solution Explorer, you can directly view and edit files in the remote app by using the remote view feature.

  1. サーバー エクスプローラーで、 [Azure][App Service] 、アプリがあるリソース グループ、アプリのノードの順に展開します。In Server Explorer, expand Azure, expand App Service, expand the resource group that your app is located in, and then expand the node for your app.

    アプリのコンテンツ ファイルとログ ファイルへのアクセス許可を付与するノードが表示されます。You see nodes that give you access to the app's content files and log files.

  2. [ファイル] ノードを展開し、 [Web.config] ファイルをダブルクリックします。Expand the Files node, and double-click the Web.config file.

    [Web.config] を開く

    Visual Studio は、リモート アプリから Web.config ファイルを開き、タイトル バーのファイル名 の横に [リモート] を表示します。Visual Studio opens the Web.config file from the remote app and shows [Remote] next to the file name in the title bar.

  3. 次の行を system.web 要素に追加します。Add the following line to the system.web element:

    <customErrors mode="Off"></customErrors>

    Web.config の編集

  4. あまり役に立たないエラー メッセージを示しているブラウザーを最新の情報に更新すると、次の例のような詳細なエラー メッセージが表示されます。Refresh the browser that is showing the unhelpful error message, and now you get a detailed error message, such as the following example:

    詳細なエラー メッセージ

    (ここで示されているエラーは、赤く表示されている行を Views\Home\Index.cshtml に追加することによって作成したものです。)(The error shown was created by adding the line shown in red to Views\Home\Index.cshtml.)

Web.config ファイルの編集は、App Service アプリにあるファイルの読み取りと編集を可能にしてトラブルシューティングを容易にするシナリオの一例にすぎません。Editing the Web.config file is only one example of scenarios in which the ability to read and edit files on your App Service app make troubleshooting easier.

アプリのリモート デバッグRemote debugging apps

詳細なエラー メッセージで十分な情報が表示されておらず、エラーをローカルで再現できない場合は、トラブルシューティングの別の方法として、リモートでデバッグ モードを実行することができます。If the detailed error message doesn't provide enough information, and you can't re-create the error locally, another way to troubleshoot is to run in debug mode remotely. ブレークポイントの設定、メモリの直接操作、コードのステップ実行、さらにコード パスの変更を実行できます。You can set breakpoints, manipulate memory directly, step through code, and even change the code path.

リモート デバッグは、Visual Studio の各 Express Edition では機能しません。Remote debugging does not work in Express editions of Visual Studio.

ここでは、Azure App Service での ASP.NET アプリの作成に関するページで作成したプロジェクトを使用して、リモートでデバッグする方法について説明します。This section shows how to debug remotely using the project you create in Create an ASP.NET app in Azure App Service.

  1. Azure App Service での ASP.NET アプリの作成に関するページで作成した Web プロジェクトを開きます。Open the web project that you created in Create an ASP.NET app in Azure App Service.

  2. Controllers\HomeController.cs を開きます。Open Controllers\HomeController.cs.

  3. About() メソッドを削除し、その位置に次のコードを挿入します。Delete the About() method and insert the following code in its place.

public ActionResult About()
{
    string currentTime = DateTime.Now.ToLongTimeString();
    ViewBag.Message = "The current time is " + currentTime;
    return View();
}
  1. ViewBag.Message の行にブレークポイントを設定します。Set a breakpoint on the ViewBag.Message line.

  2. ソリューション エクスプローラーで目的のプロジェクトを右クリックし、 [発行] をクリックします。In Solution Explorer, right-click the project, and click Publish.

  3. [プロファイル] ドロップダウン リストで、Azure App Service での ASP.NET アプリの作成に関するページで使用した同じプロファイルを選択します。In the Profile drop-down list, select the same profile that you used in Create an ASP.NET app in Azure App Service. 次に、[設定] をクリックします。Then, click Settings.

  4. [発行] ダイアログ ボックスで、 [設定] タブをクリックし、 [構成][デバッグ] に変更し、 [保存] をクリックします。In the Publish dialog, click the Settings tab, and then change Configuration to Debug, and then click Save.

    デバッグ モードでの発行

  5. [発行] をクリックします。Click Publish. デプロイが完了し、ブラウザーが起動してアプリの Azure URL が表示されたら、ブラウザーを閉じます。After deployment finishes and your browser opens to the Azure URL of your app, close the browser.

  6. サーバー エクスプローラーで、アプリを右クリックしてから [デバッガーの接続] をクリックします。In Server Explorer, right-click your app, and then click Attach Debugger.

    [デバッガーの接続]

    ブラウザーが自動的に起動し、Azure で実行されているホーム ページが表示されます。The browser automatically opens to your home page running in Azure. デバッグに必要な設定を Azure がサーバーに対して行う間、20 秒ほどの待ち時間が生じることがあります。You might have to wait 20 seconds or so while Azure sets up the server for debugging. この待ち時間が生じるのは、48 時間以内にアプリでのデバッグ モードを実行する初回に限られます。This delay only happens the first time you run in debug mode on an app in a 48-hour period. 同じ期間に再度デバッグを開始しても、遅延はありません。When you start debugging again in the same period, there isn't a delay.

    注意

    デバッガーの起動時に問題がある場合、サーバー エクスプローラーではなくクラウド エクスプローラーを使用して起動してみてください。If you have any trouble starting the debugger, try to do it by using Cloud Explorer instead of Server Explorer.

  7. メニューの [About] をクリックします。Click About in the menu.

    Visual Studio がブレークポイントで停止します。コードが実行されている場所は、ローカル コンピューターではなく Azure 上です。Visual Studio stops on the breakpoint, and the code is running in Azure, not on your local computer.

  8. currentTime 変数にマウスを合わせて、時刻値を表示します。Hover over the currentTime variable to see the time value.

    Azure で実行されているコード内の変数をデバッグ モードで表示

    表示される時刻は、Azure サーバーの時刻です。ローカル コンピューターとはタイム ゾーンが異なります。The time you see is the Azure server time, which may be in a different time zone than your local computer.

  9. currentTime 変数に新しい値 ("Now running in Azure" など) を入力します。Enter a new value for the currentTime variable, such as "Now running in Azure".

  10. F5 キーを押して実行を継続します。Press F5 to continue running.

    Azure で実行中の [About] ページに、先ほど currentTime 変数に対して入力した新しい値が表示されます。The About page running in Azure displays the new value that you entered into the currentTime variable.

    [About] ページ (値の変更後)

Web ジョブのリモート デバッグRemote debugging WebJobs

このセクションでは、Azure WebJobs SDK の概要に関するページで作成したプロジェクトとアプリを使用してリモートでデバッグする方法を示します。This section shows how to debug remotely using the project and app you create in Get Started with the Azure WebJobs SDK.

このセクションで示す機能は、Visual Studio 2013 Update 4 以降でのみ使用できます。The features shown in this section are available only in Visual Studio 2013 with Update 4 or later.

リモート デバッグは、継続的な Web ジョブでのみ動作します。Remote debugging only works with continuous WebJobs. スケジュールされたオンデマンドの Web ジョブでは、デバッグはサポートされていません。Scheduled and on-demand WebJobs don't support debugging.

  1. Azure Web ジョブ SDK の使用に関するページで作成した Web プロジェクトを開きます。Open the web project that you created in Get Started with the Azure WebJobs SDK.

  2. ContosoAdsWebJob プロジェクトで、 Functions.csを開きます。In the ContosoAdsWebJob project, open Functions.cs.

  3. GnerateThumbnail メソッドの最初のステートメントにブレークポイントを設定します。Set a breakpoint on the first statement in the GnerateThumbnail method.

    ブレークポイントの設定

  4. ソリューション エクスプローラーで Web プロジェクト (Web ジョブ プロジェクトではない) を右クリックし、 [発行] をクリックします。In Solution Explorer, right-click the web project (not the WebJob project), and click Publish.

  5. [プロファイル] ボックスの一覧から、「 Azure Web ジョブ SDK の使用」で使用したものと同じプロファイルを選択します。In the Profile drop-down list, select the same profile that you used in Get Started with the Azure WebJobs SDK.

  6. [設定] タブをクリックして [構成][デバッグ] に変更し、 [発行] をクリックします。Click the Settings tab, and change Configuration to Debug, and then click Publish.

    Visual Studio によって Web プロジェクトと Web ジョブ プロジェクトがデプロイされ、ブラウザーでアプリの Azure URL が表示されます。Visual Studio deploys the web and WebJob projects, and your browser opens to the Azure URL of your app.

  7. サーバー エクスプローラーで、 [Azure]、[App Service]、使用するリソース グループ、使用するアプリ、[Web ジョブ]、[継続] の順に展開し、 [ContosoAdsWebJob] を右クリックします。In Server Explorer, expand Azure > App Service > your resource group > your app > WebJobs > Continuous, and then right-click ContosoAdsWebJob.

  8. [デバッガーの接続] をクリックします。Click Attach Debugger.

    [デバッガーの接続]

    ブラウザーが自動的に起動し、Azure で実行されているホーム ページが表示されます。The browser automatically opens to your home page running in Azure. デバッグに必要な設定を Azure がサーバーに対して行う間、20 秒ほどの待ち時間が生じることがあります。You might have to wait 20 seconds or so while Azure sets up the server for debugging. この待ち時間が生じるのは、48 時間以内にアプリでのデバッグ モードを実行する初回に限られます。This delay only happens the first time you run in debug mode on an app in a 48-hour period. 同じ期間に再度デバッグを開始しても、遅延はありません。When you start debugging again in the same period, there isn't a delay.

  9. Contoso Ads ホーム ページを表示している Web ブラウザーで、新しい広告を作成します。In the web browser that is opened to the Contoso Ads home page, create a new ad.

    広告を作成すると、キュー メッセージが作成されます。キュー メッセージは Web ジョブによって取得され、処理されます。Creating an ad causes a queue message to be created, which is picked up by the WebJob and processed. Web ジョブ SDK がキュー メッセージを処理する関数を呼び出すと、コードがブレークポイントにヒットします。When the WebJobs SDK calls the function to process the queue message, the code hits your breakpoint.

  10. デバッガーがブレークポイントで停止すると、プログラムがクラウドを実行している間に、変数の値を確認、変更することができます。When the debugger breaks at your breakpoint, you can examine and change variable values while the program is running the cloud. 次の図では、デバッガーは、GenerateThumbnail メソッドに渡された blobInfo オブジェクトの内容を示しています。In the following illustration, the debugger shows the contents of the blobInfo object that was passed to the GenerateThumbnail method.

    デバッガーの blobInfo オブジェクト

  11. F5 キーを押して実行を継続します。Press F5 to continue running.

    GenerateThumbnail メソッドはサムネイルの作成を完了します。The GenerateThumbnail method finishes creating the thumbnail.

  12. ブラウザーで、[インデックス] ページを更新して、サムネイルを表示します。In the browser, refresh the Index page and you see the thumbnail.

  13. Visual Studio で、Shift キーを押しながら F5 キーを押すと、デバッグは停止します。In Visual Studio, press SHIFT+F5 to stop debugging.

  14. サーバー エクスプローラーで、ContosoAdsWebJob ノードを右クリックし、 [ダッシュボードの表示] をクリックします。In Server Explorer, right-click the ContosoAdsWebJob node and click View Dashboard.

  15. Azure の資格情報を使用してサインインし、Web ジョブ名をクリックして、Web ジョブのページに移動します。Sign in with your Azure credentials, and then click the WebJob name to go to the page for your WebJob.

    ContosoAdsWebJob をクリック

    GenerateThumbnail 関数が最近実行されたことが、ダッシュボードに示されます。The Dashboard shows that the GenerateThumbnail function executed recently.

    (次回、 [ダッシュボードの表示] をクリックするときには、サインインする必要はありません。ブラウザーが Web ジョブのページに直接移動します。)(The next time you click View Dashboard, you don't have to sign in, and the browser goes directly to the page for your WebJob.)

  16. 関数名をクリックすると、関数の実行について詳細が表示されます。Click the function name to see details about the function execution.

    機能の詳細

関数が ログを書き込んだ場合は、 [ToggleOutput] をクリックするとログを表示できます。If your function wrote logs, you could click ToggleOutput to see them.

リモート デバッグに関する注意Notes about remote debugging

  • 運用環境におけるデバッグ モードの実行はお勧めできません。Running in debug mode in production is not recommended. 運用環境のアプリが複数のサーバー インスタンスにスケールアウトされていない場合、デバッグを行うと、Web サーバーが他の要求に応答できなくなります。If your production app is not scaled out to multiple server instances, debugging prevents the web server from responding to other requests. しかし、Web サーバーのインスタンスが複数存在する場合、デバッガーのアタッチ先となるインスタンスは無作為に決定されるため、同じインスタンスに後続のブラウザーの要求を確実に渡すことができません。If you do have multiple web server instances, when you attach to the debugger, you get a random instance, and you have no way to ensure that subsequent browser requests go to the same instance. また、運用環境にデバッグ ビルドをデプロイすることも一般的ではありません。リリース ビルドに対してはコンパイラが最適化を行うため、ソース コードの状況を行レベルで把握することは不可能です。Also, you typically don't deploy a debug build to production, and compiler optimizations for release builds might make it impossible to show what is happening line by line in your source code. 運用環境の問題をトラブルシューティングするのに最も適しているリソースは、アプリケーション トレースと Web サーバーのログです。For troubleshooting production problems, your best resource is application tracing and web server logs.
  • リモート デバッグ時、ブレークポイントで長時間停止させることは避けてください。Avoid long stops at breakpoints when remote debugging. 数分以上停止しているプロセスは、応答していないプロセスと見なされ、Azure によりシャットダウンされます。Azure treats a process that is stopped for longer than a few minutes as an unresponsive process, and shuts it down.
  • デバッグ中は、サーバーから Visual Studio にデータが送信されるため、帯域幅の使用料に影響が及ぶ可能性があります。While you're debugging, the server is sending data to Visual Studio, which could affect bandwidth charges. 帯域幅使用料については、 Azure 料金計算ツールを参照してください。For information about bandwidth rates, see Azure Pricing.
  • Web.config ファイルの compilation 要素の debug 属性が true に設定されていることを確認します。Make sure that the debug attribute of the compilation element in the Web.config file is set to true. デバッグ ビルド構成で発行するときは、true が既定値です。It is set to true by default when you publish a debug build configuration.
<system.web>
  <compilation debug="true" targetFramework="4.5" />
  <httpRuntime targetFramework="4.5" />
</system.web>
  • デバッグ対象となるコードにデバッガーがステップ インしない場合、[マイ コードのみ] の設定を変更してみてください。If you find that the debugger doesn't step into the code that you want to debug, you might have to change the Just My Code setting. 詳しくは、「Specify whether to debug only user code using Just My Code in Visual Studio (Visual Studio で [マイコードのみ] を使用してユーザー コードのみをデバッグするかどうかを指定する)」をご覧ください。For more information, see Specify whether to debug only user code using Just My Code in Visual Studio.
  • リモート デバッグ機能を有効にしたときに、サーバー上でタイマーが開始され、48 時間後にこの機能が自動的に無効になります。A timer starts on the server when you enable the remote debugging feature, and after 48 hours the feature is automatically turned off. この 48 時間の上限はセキュリティとパフォーマンス上の理由で設定されています。This 48-hour limit is done for security and performance reasons. 必要に応じて、この機能を何回でも簡単に有効に戻すことができます。You can easily turn the feature back on as many times as you like. 積極的にデバッグを実行している場合以外は、この機能を無効にしたままにすることをお勧めします。We recommend leaving it disabled when you are not actively debugging.
  • 手動でデバッガーをアプリ プロセス (w3wp.exe) だけでなく、任意のプロセスに接続できます。You can manually attach the debugger to any process, not only the app process (w3wp.exe). Visual Studio のデバッグ モードの使い方の詳細については、MSDN のトピック「 Visual Studio でのデバッグ」を参照してください。For more information about how to use debug mode in Visual Studio, see Debugging in Visual Studio.

診断ログの概要Diagnostic logs overview

App Service アプリで実行される ASP.NET アプリケーションは、次の種類のログを作成できます。An ASP.NET application that runs in an App Service app can create the following kinds of logs:

  • アプリケーション トレース ログApplication tracing logs
    アプリケーションが System.Diagnostics.Trace クラスのメソッドを呼び出すことによって作成されます。The application creates these logs by calling methods of the System.Diagnostics.Trace class.
  • Web サーバー ログWeb server logs
    Web サーバーは、アプリに届くすべての HTTP 要求について、それぞれログ エントリを作成します。The web server creates a log entry for every HTTP request to the app.
  • 詳細なエラー メッセージ ログDetailed error message logs
    失敗した HTTP 要求 (状態コード 400 以上の要求) について、より詳しい情報を記した HTML ページが Web サーバーによって作成されます。The web server creates an HTML page with some additional information for failed HTTP requests (requests that result in status code 400 or greater).
  • 失敗した要求トレース ログFailed request tracing logs
    失敗した HTTP 要求についての詳しいトレース情報を記録した XML ファイルが Web サーバーによって作成されます。The web server creates an XML file with detailed tracing information for failed HTTP requests. また、ブラウザーで XML の体裁を設定するための XSL ファイルも作成されます。The web server also provides an XSL file to format the XML in a browser.

ログ出力はアプリのパフォーマンスに影響を及ぼすため、Azure では、必要に応じてログの種類ごとにその有効と無効を切り替えることができるようになっています。Logging affects app performance, so Azure gives you the ability to enable or disable each type of log as needed. アプリケーション ログについては、特定の重大度レベルを超えるログだけを記録するように指定できます。For application logs, you can specify that only logs above a certain severity level should be written. 新しいアプリを作成した時点ではすべてのログが既定で無効になります。When you create a new app, by default all logging is disabled.

ログは、アプリのファイル システムにあり、FTP 経由でアクセス可能な LogFiles フォルダー内のファイルに書き込まれます。Logs are written to files in a LogFiles folder in the file system of your app and are accessible via FTP. Web サーバーのログとアプリケーションのログは、Azure のストレージ アカウントに出力することもできます。Web server logs and application logs can also be written to an Azure Storage account. ストレージ アカウントには、ファイル システムよりも大量のログを保持することができます。You can retain a greater volume of logs in a storage account than is possible in the file system. ファイル システムを使用した場合、保存できるログの上限は 100 MB です。You're limited to a maximum of 100 megabytes of logs when you use the file system. (ファイル システムのログは、短期間のみ保持されます。(File system logs are only for short-term retention. 上限に達すると、古いログ ファイルは削除され、新しいログ ファイルのための領域が確保されます。)Azure deletes old log files to make room for new ones after the limit is reached.)

アプリケーションのトレース ログの作成と表示Create and view application trace logs

このセクションでは、次のタスクを実行します。In this section, you do the following tasks:

  • Azure と ASP.NET の使用に関するページで作成した Web プロジェクトに、トレース ステートメントを追加します。Add tracing statements to the web project that you created in Get started with Azure and ASP.NET.
  • プロジェクトをローカル実行したときのログを確認します。View the logs when you run the project locally.
  • Azure で実行中のアプリケーションによって生成されたログを確認します。View the logs as they are generated by the application running in Azure.

Web ジョブでアプリケーション ログを作成する方法については、「 Web ジョブ SDK を使用して Azure キュー ストレージを操作する方法 - ログの記述方法」を参照してください。For information about how to create application logs in WebJobs, see How to work with Azure queue storage using the WebJobs SDK - How to write logs. ログの表示とログを Azure に格納する方法の制御に関する次の手順は、Web ジョブによって作成されたアプリケーション ログにも適用されます。The following instructions for viewing logs and controlling how they're stored in Azure apply also to application logs created by WebJobs.

アプリケーションへのトレース ステートメントの追加Add tracing statements to the application

  1. System.DiagnosticsTrace ステートメントと using ステートメントを追加するために、Controllers\HomeController.cs を開き、IndexAboutContact のメソッドを次のコードで置き換えます。Open Controllers\HomeController.cs, and replace the Index, About, and Contact methods with the following code in order to add Trace statements and a using statement for System.Diagnostics:
public ActionResult Index()
{
    Trace.WriteLine("Entering Index method");
    ViewBag.Message = "Modify this template to jump-start your ASP.NET MVC application.";
    Trace.TraceInformation("Displaying the Index page at " + DateTime.Now.ToLongTimeString());
    Trace.WriteLine("Leaving Index method");
    return View();
}

public ActionResult About()
{
    Trace.WriteLine("Entering About method");
    ViewBag.Message = "Your app description page.";
    Trace.TraceWarning("Transient error on the About page at " + DateTime.Now.ToShortTimeString());
    Trace.WriteLine("Leaving About method");
    return View();
}

public ActionResult Contact()
{
    Trace.WriteLine("Entering Contact method");
    ViewBag.Message = "Your contact page.";
    Trace.TraceError("Fatal error on the Contact page at " + DateTime.Now.ToLongTimeString());
    Trace.WriteLine("Leaving Contact method");
    return View();
}        
  1. using System.Diagnostics; ステートメントをファイルの先頭に追加します。Add a using System.Diagnostics; statement to the top of the file.

ローカルでのトレース出力の表示View the tracing output locally

  1. F5 キーを押してデバッグ モードでアプリケーションを実行します。Press F5 to run the application in debug mode.

    既定のトレース リスナーは、すべてのトレース出力を他のデバッグ出力と一緒に 出力 ウィンドウに書き込みます。The default trace listener writes all trace output to the Output window, along with other Debug output. 次の図は、 Index メソッドに追加したトレース ステートメントからの出力結果を示したものです。The following illustration shows the output from the trace statements that you added to the Index method.

    [デバッグ] ウィンドウでのトレース

    以降の手順では、コンパイルせずにデバッグ モードで、トレース出力を Web ページに表示する方法を紹介します。The following steps show how to view trace output in a web page, without compiling in debug mode.

  2. プロジェクト フォルダーにあるアプリケーションの Web.config ファイルを開き、ファイル末尾の終了 </configuration> 要素の直前に <system.diagnostics> 要素を追加します。Open the application Web.config file (the one located in the project folder) and add a <system.diagnostics> element at the end of the file just before the closing </configuration> element:

<system.diagnostics>
<trace>
  <listeners>
    <add name="WebPageTraceListener"
        type="System.Web.WebPageTraceListener,
        System.Web,
        Version=4.0.0.0,
        Culture=neutral,
        PublicKeyToken=b03f5f7f11d50a3a" />
  </listeners>
</trace>
</system.diagnostics>

WebPageTraceListener を使用すると、ブラウザーから /trace.axd にアクセスすることでトレース出力を表示できます。The WebPageTraceListener lets you view trace output by browsing to /trace.axd.

  1. Web.config ファイルの <system.web> に、次のような trace 要素を追加します。Add a trace element under <system.web> in the Web.config file, such as the following example:
<trace enabled="true" writeToDiagnosticsTrace="true" mostRecent="true" pageOutput="false" />
  1. Ctrl キーを押しながら F5 キーを押してアプリケーションを実行します。Press CTRL+F5 to run the application.

  2. ブラウザー ウィンドウのアドレス バーで、URL に続けて「trace.axd」と入力し、Enter キーを押します (例: http://localhost:53370/trace.axd)。In the address bar of the browser window, add trace.axd to the URL, and then press Enter (the URL is similar to http://localhost:53370/trace.axd).

  3. [アプリケーション トレース] ページの最初の行 (BrowserLink の行とは異なる) で、 [詳細の表示] をクリックします。On the Application Trace page, click View Details on the first line (not the BrowserLink line).

    trace.axd

    [要求の詳細] ページが表示され、Index メソッドに追加したトレース ステートメントからの出力が [トレース情報] セクションに表示されます。The Request Details page appears, and in the Trace Information section you see the output from the trace statements that you added to the Index method.

    trace.axd

    既定では、trace.axd の使用はローカルに限られます。By default, trace.axd is only available locally. Web.config ファイルで trace 要素に localOnly="false" を追加すると、リモート アプリからも利用できるようになります。その例を次に示します。If you wanted to make it available from a remote app, you could add localOnly="false" to the trace element in the Web.config file, as shown in the following example:

     <trace enabled="true" writeToDiagnosticsTrace="true" localOnly="false" mostRecent="true" pageOutput="false" />
    

    ただし、運用アプリで trace.axd を有効にすることはセキュリティ上の理由でお勧めできません。However, enabling trace.axd in a production app is not recommended for security reasons. 次のセクションでは、App Service アプリでトレース ログを読み取る簡単な方法を示します。In the following sections, you'll see an easier way to read tracing logs in an App Service app.

Azure でのトレース出力の確認View the tracing output in Azure

  1. ソリューション エクスプローラーで Web プロジェクトを右クリックし、 [発行] をクリックします。In Solution Explorer, right-click the web project and click Publish.

  2. [Web の発行] ダイアログ ボックスの [発行] をクリックします。In the Publish Web dialog box, click Publish.

    更新したプロジェクトを発行すると、ブラウザー ウィンドウが起動して自分のホーム ページが表示されます (ただし、 [接続] タブの [宛先 URL] をクリアした場合を除く)。After Visual Studio publishes your update, it opens a browser window to your home page (assuming you didn't clear Destination URL on the Connection tab).

  3. サーバー エクスプローラーでアプリを右クリックし、 [ストリーミング ログの表示] を選択します。In Server Explorer, right-click your app and select View Streaming Logs.

    コンテキスト メニューからストリーミング ログを表示

    ログ ストリーミング サービスに接続されたことを示すメッセージが出力ウィンドウに表示されます。ログが出力されないまま 1 分が経過すると、その都度、1 行の通知が追加されます。The Output window shows that you are connected to the log-streaming service, and adds a notification line each minute that goes by without a log to display.

    コンテキスト メニューからストリーミング ログを表示

  4. アプリケーションのホーム ページが表示されているブラウザー ウィンドウで、 [Contact] をクリックします。In the browser window that shows your application home page, click Contact.

    数秒すると、Contact メソッドに追加したエラー レベルのトレースが出力ウィンドウに表示されます。Within a few seconds, the output from the error-level trace you added to the Contact method appears in the Output window.

    出力ウィンドウのエラー トレース

    Visual Studio にエラー レベルのトレースしか表示されていないのは、それが、ログ監視サービスを有効にしたときの既定の設定であるためです。Visual Studio is only showing error-level traces because that is the default setting when you enable the log monitoring service. 先ほどの設定ページを開いたときに見たように、新しい App Service アプリを作成したときは、すべてのログが既定で無効となります。When you create a new App Service app, all logging is disabled by default, as you saw when you opened the settings page earlier:

    アプリケーション ログ記録がオフ

    ただし、 [ストリーミング ログを表示] を選択すると、 [アプリケーション ログ記録 (ファイル システム)] が自動的に [エラー] に変更されます。これは、エラー レベルのログが報告されることを意味します。However, when you selected View Streaming Logs, Visual Studio automatically changed Application Logging(File System) to Error, which means error-level logs get reported. すべてのトレース ログを表示するためには、この設定を [詳細] に変更する必要があります。In order to see all of your tracing logs, you can change this setting to Verbose. "エラー" よりも低い重大度レベルを選択すると、その重大度を超えるログがすべて報告されます。When you select a severity level lower than error, all logs for higher severity levels are also reported. つまり [詳細] を選択した場合は、"情報"、"警告"、"エラー" に該当するログが表示されます。So when you select verbose, you also see information, warning, and error logs.

  5. 先ほどと同じように、サーバー エクスプローラーでアプリを右クリックし、 [表示の設定] をクリックします。In Server Explorer, right-click the app, and then click View Settings as you did earlier.

  6. [アプリケーション ログ記録 (ファイル システム)][詳細] に変更し、 [保存] をクリックします。Change Application Logging (File System) to Verbose, and then click Save.

    トレース レベルを [詳細] に設定

  7. [連絡先] ページが表示されているブラウザー ウィンドウで、 [ホーム][バージョン情報][連絡先] を順にクリックします。In the browser window that is now showing your Contact page, click Home, then click About, and then click Contact.

    数秒すると、 出力 ウィンドウにすべてのトレース出力が表示されます。Within a few seconds, the Output window shows all of your tracing output.

    詳細レベルのトレース出力

    このセクションでは、ログの有効と無効の切り替えをアプリの設定で行いました。In this section, you enabled and disabled logging by using app settings. トレース リスナーの有効と無効は、Web.config ファイルで設定することもできます。You can also enable and disable trace listeners by modifying the Web.config file. ただし、Web.config ファイルに変更を加えると、アプリケーション ドメインの再利用処理が実行されます。一方、アプリの構成を介してログを有効にした場合は、そのようにはなりません。However, modifying the Web.config file causes the app domain to recycle, while enabling logging via the app configuration doesn't do that. 問題の再現に時間がかかる場合や、発生のタイミングが散発的である場合、アプリケーション ドメインの再利用処理で問題が "解消" し、再発までしばらく待たなければならなくなります。If the problem takes a long time to reproduce, or is intermittent, recycling the app domain might "fix" it and force you to wait until it happens again. Azure で診断を有効にすると、アプリケーション ドメインの再利用処理は行われず、すぐにエラー情報を収集することができます。Enabling diagnostics in Azure lets you start capturing error information immediately without recycling the app domain.

出力ウィンドウの機能Output window features

出力ウィンドウの [Microsoft Azure ログ] タブには、いくつかのボタンと 1 つのテキスト ボックスが表示されます。The Microsoft Azure Logs tab of the Output Window has several buttons and a text box:

[ログ] タブのボタン

それぞれの機能を次に示します。These perform the following functions:

  • 出力 ウィンドウをクリアする。Clear the Output window.
  • 右端での折り返しを有効または無効にする。Enable or disable word wrap.
  • ログの監視を開始または停止する。Start or stop monitoring logs.
  • 監視するログを指定する。Specify which logs to monitor.
  • ログをダウンロードする。Download logs.
  • 検索文字列または正規表現によるフィルターをログに適用する。Filter logs based on a search string or a regular expression.
  • 出力 ウィンドウを閉じる。Close the Output window.

検索文字列または正規表現を入力した場合、ログ情報は、Visual Studio によってクライアント側でフィルタリングされます。If you enter a search string or regular expression, Visual Studio filters logging information at the client. つまり、フィルターの条件は、出力ウィンドウにログが表示された後に入力できます。フィルターの条件を変更するためにログを生成し直す必要はありません。That means you can enter the criteria after the logs are displayed in the Output window and you can change filtering criteria without having to regenerate the logs.

Web サーバーのログの表示View web server logs

Web サーバーのログには、アプリの HTTP アクティビティがすべて記録されます。Web server logs record all HTTP activity for the app. それらの HTTP 要求を出力ウィンドウに表示するには、アプリに対してその機能を有効にしたうえで、HTTP 要求を監視するための指定を Visual Studio に対して行う必要があります。In order to see them in the Output window, you must enable them for the app and tell Visual Studio that you want to monitor them.

  1. サーバー エクスプローラーから開いた Azure Web アプリの [構成] タブで [Web サーバーのログ記録] を [オン] に変更し、 [保存] をクリックします。In the Azure Web App Configuration tab that you opened from Server Explorer, change Web Server Logging to On, and then click Save.

    Web サーバーのログ記録を有効にする

  2. 出力ウィンドウの [監視する Microsoft Azure ログを指定する] をクリックします。In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

    [監視する Azure ログの指定]

  3. [Microsoft Azure ログ オプション] ダイアログ ボックスの [Web サーバーのログ] を選択し、 [OK] をクリックします。In the Microsoft Azure Logging Options dialog box, select Web server logs, and then click OK.

    Web サーバーのログを監視する

  4. アプリを表示するブラウザー ウィンドウで、 [ホーム][バージョン情報][連絡先] の順にクリックします。In the browser window that shows the app, click Home, then click About, and then click Contact.

    通常はアプリケーションのログが先に表示され、続けて Web サーバーのログが表示されます。The application logs generally appear first, followed by the web server logs. ログが表示されるまでにしばらく時間がかかる場合があります。You might have to wait a while for the logs to appear.

    出力ウィンドウの Web サーバーのログ

Visual Studio で Web サーバーのログを初めて有効にしたとき、既定では、Azure によってファイル システムにログが書き込まれます。By default, when you first enable web server logs by using Visual Studio, Azure writes the logs to the file system. 代わりに、Azure ポータルを使用して、Web サーバーのログの書き込み先として、ストレージ アカウントの BLOB コンテナーを指定することもできます。As an alternative, you can use the Azure portal to specify that web server logs should be written to a blob container in a storage account.

Azure ポータルを使用して、Azure ストレージ アカウントへの Web サーバーのログ記録を有効にした後、Visual Studio でログ記録を無効にした場合、Visual Studio でログ記録を再度有効にすると、ストレージ アカウントの設定が復元されます。If you use the portal to enable web server logging to an Azure storage account, and then disable logging in Visual Studio, when you re-enable logging in Visual Studio your storage account settings are restored.

詳細なエラー メッセージ ログの表示View detailed error message logs

詳細なエラー ログでは、エラー応答コード (400 以上) が返された HTTP 要求について、いくつかの詳しい情報が確認できます。Detailed error logs provide some additional information about HTTP requests that result in error response codes (400 or above). それらの HTTP 要求を出力ウィンドウに表示するには、アプリに対してその機能を有効にしたうえで、HTTP 要求を監視するための指定を Visual Studio に対して行う必要があります。In order to see them in the Output window, you have to enable them for the app and tell Visual Studio that you want to monitor them.

  1. サーバー エクスプローラーから開いた Azure Web アプリの [構成] タブで [詳細なエラー メッセージ][オン] に変更し、 [保存] をクリックします。In the Azure Web App Configuration tab that you opened from Server Explorer, change Detailed Error Messages to On, and then click Save.

    詳細なエラー メッセージを有効にする

  2. 出力ウィンドウの [監視する Microsoft Azure ログを指定する] をクリックします。In the Output Window, click the Specify which Microsoft Azure logs to monitor button.

  3. [Microsoft Azure ログ オプション] ダイアログ ボックスの [すべてのログ] を選択し、 [OK] をクリックします。In the Microsoft Azure Logging Options dialog box, click All logs, and then click OK.

    すべてのログを監視する

  4. ブラウザー ウィンドウのアドレス バーで、404 エラーの原因となるような余分な文字を URL に追加し (例: http://localhost:53370/Home/Contactx)、Enter キーを押します。In the address bar of the browser window, add an extra character to the URL to cause a 404 error (for example, http://localhost:53370/Home/Contactx), and press Enter.

    数秒後、Visual Studio の 出力 ウィンドウに詳細なエラー ログが表示されます。After several seconds, the detailed error log appears in the Visual Studio Output window.

    詳細なエラー ログ - 出力ウィンドウ

    Ctrl キーを押しながらリンクをクリックすると、次のような書式化されたログ出力がブラウザーに表示されます。Control+click the link to see the log output formatted in a browser:

    詳細なエラー ログ - ブラウザー ウィンドウ

ファイル システムのログのダウンロードDownload file system logs

出力 ウィンドウで監視できるすべてのログは .zip ファイルとしてダウンロードすることもできます。Any logs that you can monitor in the Output window can also be downloaded as a .zip file.

  1. 出力ウィンドウの [ストリーミング ログのダウンロード] をクリックします。In the Output window, click Download Streaming Logs.

    [ログ] タブのボタン

    エクスプローラーが起動して [ダウンロード] フォルダーが開き、ダウンロード済みのファイルが選択状態で表示されます。File Explorer opens to your Downloads folder with the downloaded file selected.

    ダウンロードされたファイル

  2. この .zip ファイルを展開すると、次のフォルダー構造が確認できます。Extract the .zip file, and you see the following folder structure:

    ダウンロードされたファイル

    • アプリケーション トレース ログは、LogFiles\Application フォルダーの .txt ファイルに記録されます。Application tracing logs are in .txt files in the LogFiles\Application folder.

    • Web サーバーのログは、LogFiles\http\RawLogs フォルダーの .log ファイルに記録されます。Web server logs are in .log files in the LogFiles\http\RawLogs folder. これらのファイルの閲覧と操作は、 Log Parser などのツールを使って行うことができます。You can use a tool such as Log Parser to view and manipulate these files.

    • 詳細なエラー メッセージのログは、LogFiles\DetailedErrors フォルダーの .html ファイルに記録されます。Detailed error message logs are in .html files in the LogFiles\DetailedErrors folder.

      (deployments フォルダーは、ソース管理の発行によって作成されたファイルに使用されます。Visual Studio の発行に関連したファイルは保存されません。(The deployments folder is for files created by source control publishing; it doesn't have anything related to Visual Studio publishing. Git フォルダーは、ログ ファイル ストリーミング サービスやソース管理の発行に関連したトレースに使用されます。)The Git folder is for traces related to source control publishing and the log file streaming service.)

失敗した要求トレース ログの表示View failed request tracing logs

失敗した要求トレース ログは、URL の書き換えや認証の問題など、IIS による HTTP 要求の処理を詳しく把握する必要がある状況で活用できます。Failed request tracing logs are useful when you need to understand the details of how IIS is handling an HTTP request, in scenarios such as URL rewriting or authentication problems.

App Service アプリでは、同じ失敗した要求トレース機能が使用されています。この機能は、IIS 7.0 以降で利用できます。App Service apps use the same failed request tracing functionality that has been available with IIS 7.0 and later. ただし、ログに記録するエラーを指定するための IIS 設定にアクセスする必要はありません。You don't have access to the IIS settings that configure which errors get logged, however. 失敗した要求トレースを有効にすると、すべてのエラーがキャプチャされます。When you enable failed request tracing, all errors are captured.

失敗した要求トレースは Visual Studio を使用して有効にできますが、それらを Visual Studio で表示することはできません。You can enable failed request tracing by using Visual Studio, but you can't view them in Visual Studio. これらのログは XML ファイル形式になっています。These logs are XML files. ストリーミング ログ サービスで監視されるのは、プレーンテキスト モードでの読み取りが可能と判断されたファイル ( .txt.html.log の各ファイル) だけです。The streaming log service only monitors files that are deemed readable in plain text mode: .txt, .html, and .log files.

失敗した要求トレース ログは、ブラウザーから FTP で直接表示できるほか、FTP ツールを使ってローカル コンピューターにダウンロードした後、ローカルで表示することもできます。You can view failed request tracing logs in a browser directly via FTP or locally after using an FTP tool to download them to your local computer. このセクションでは、ブラウザーで直接閲覧する方法を説明します。In this section, you'll view them in a browser directly.

  1. サーバー エクスプローラーから開いた [Azure Web アプリ] ウィンドウの [構成] タブで、 [失敗した要求トレース][オン] に変更し、 [保存] をクリックします。In the Configuration tab of the Azure Web App window that you opened from Server Explorer, change Failed Request Tracing to On, and then click Save.

    失敗した要求トレースを有効にする

  2. アプリが表示されているブラウザー ウィンドウのアドレス バーで、余分な文字を URL に追加し、Enter キーを押して 404 エラーを発生させます。In the address bar of the browser window that shows the app, add an extra character to the URL and click Enter to cause a 404 error.

    これにより、失敗した要求トレース ログが作成されます。そのログを表示またはダウンロードする方法については、以降の手順で説明します。This causes a failed request tracing log to be created, and the following steps show how to view or download the log.

  3. Visual Studio で、 [Azure Web アプリ] ウィンドウの [構成] タブにある [管理ポータルで開く] をクリックします。In Visual Studio, in the Configuration tab of the Azure Web App window, click Open in Management Portal.

  4. Azure portal のアプリの [設定] ページで [デプロイ資格情報] をクリックし、新しいユーザー名とパスワードを入力します。In the Azure portal Settings page for your app, click Deployment credentials, and then enter a new user name and password.

    新しい FTP ユーザー名とパスワード

    注意

    ログインするときは、完全なユーザー名とそのアプリ名プレフィックスを使用する必要があります。When you log in, you have to use the full user name with the app name prefixed to it. たとえば、ユーザー名として「myid」と入力し、サイトが "myexample" の場合、"myexample\myid" としてログインします。For example, if you enter "myid" as a user name and the site is "myexample", you log in as "myexample\myid".

  5. 新しいブラウザー ウィンドウで、アプリの [概要] ページの [FTP ホスト名] または [FTPS ホスト名] に表示されている URL に移動します。In a new browser window, go to the URL that is shown under FTP hostname or FTPS hostname in the Overview page for your app.

  6. 先ほど作成した FTP 資格情報を使用してログインします (ユーザー名のアプリ名プレフィックスを含めること)。Log in using the FTP credentials that you created earlier (including the app name prefix for the user name).

    アプリのルート フォルダーがブラウザーに表示されます。The browser shows the root folder of the app.

  7. LogFiles フォルダーを開きます。Open the LogFiles folder.

    LogFiles フォルダーを開く

  8. W3SVC に数値の付いた名前のフォルダーを開きます。Open the folder that is named W3SVC plus a numeric value.

    W3SVC フォルダーを開く

    このフォルダーには、失敗した要求トレースを有効にした後で記録されたすべてのエラーの XML ファイルに加え、ブラウザーで XML の体裁を設定するための XSL ファイルが格納されています。The folder contains XML files for any errors that have been logged after you enabled failed request tracing, and an XSL file that a browser can use to format the XML.

    W3SVC フォルダー

  9. トレース情報を確認する失敗した要求の XML ファイルをクリックします。Click the XML file for the failed request that you want to see tracing information for.

    次の図は、サンプル エラーのトレース情報を部分的に示したものです。The following illustration shows part of the tracing information for a sample error.

    失敗した要求トレースをブラウザーで表示したところ

次のステップNext Steps

App Service アプリで作成されたログは Visual Studio を使って簡単に参照できることが確認できました。You've seen how Visual Studio makes it easy to view logs created by an App Service app. 次のセクションでは、関連トピックに関する他のリソースへのリンクを紹介します。The following sections provide links to more resources on related topics:

  • App Service のトラブルシューティングApp Service troubleshooting
  • Visual Studio でのデバッグDebugging in Visual Studio
  • Azure でのリモート デバッグRemote debugging in Azure
  • ASP.NET アプリケーションでのトレースTracing in ASP.NET applications
  • Web サーバーのログの分析Analyzing web server logs
  • 失敗した要求トレース ログの分析Analyzing failed request tracing logs
  • Cloud Services のデバッグDebugging Cloud Services

App Service のトラブルシューティングApp Service troubleshooting

Azure App Service のアプリのトラブルシューティングの詳細については、以下のリソースを参照してください。For more information about troubleshooting apps in Azure App Service, see the following resources:

具体的なトラブルシューティングについての質問は、次のいずれかのフォーラムで投稿してください。For help with a specific troubleshooting question, start a thread in one of the following forums:

Visual Studio でのデバッグDebugging in Visual Studio

Visual Studio のデバッグ モードの使い方については、「Visual Studio でのデバッグ」と Visual Studio 2010 でのデバッグのヒントに関するページを参照してください。For more information about how to use debug mode in Visual Studio, see Debugging in Visual Studio and Debugging Tips with Visual Studio 2010.

Azure でのリモート デバッグRemote debugging in Azure

App Service アプリと WebJobs のリモート デバッグの詳細については、以下のリソースを参照してください。For more information about remote debugging for App Service apps and WebJobs, see the following resources:

アプリで Azure Web API または Mobile Services バックエンドを使用し、デバッグを実行する必要がある場合は、Visual Studio での .NET のデバッグに関するページを参照してください。If your app uses an Azure Web API or Mobile Services back-end and you need to debug that, see Debugging .NET Backend in Visual Studio.

ASP.NET アプリケーションでのトレースTracing in ASP.NET applications

ASP.NET トレースに関しては、最新かつ必要な情報をすべて網羅した解説がインターネットには存在しません。There are no thorough and up-to-date introductions to ASP.NET tracing available on the Internet. そのため、過去に作成された入門者向けの資料を参考にするのが最善の方法となります。MVC がまだ存在していなかったために Web フォームを想定して書かれていますが、具体的な問題については、最新のブログで情報を補うことができます。The best you can do is get started with old introductory materials written for Web Forms because MVC didn't exist yet, and supplement that with newer blog posts that focus on specific issues. たとえば、以下のリソースが参考になります。Some good places to start are the following resources:

try
{
   // Your code that might cause an exception to be thrown.
}
catch (Exception ex)
{
    Trace.TraceError("Exception: " + ex.ToString());
    throw;
}

エラーをログに記録する方法としては、独自のトレース コードを記述する以外にも、 ELMAHのようなオープン ソースのログ記録フレームワークを使う方法があります。For error logging, an alternative to writing your own tracing code is to use an open-source logging framework such as ELMAH. 詳細については、 Scott Hanselman が ELMAH についてまとめたブログ記事を参照してください。For more information, see Scott Hanselman's blog posts about ELMAH.

さらに、ASP.NET または System.Diagnostics トレースを使用して、Azure からストリーミング ログを取得する必要はありません。Also, you don't need to use ASP.NET or System.Diagnostics tracing to get streaming logs from Azure. App Service アプリのストリーミング ログ サービスは、LogFiles フォルダーに見つかったすべての .txt ファイル、 .html ファイル、 .log ファイルをストリーミングします。The App Service app streaming log service streams any .txt, .html, or .log file that it finds in the LogFiles folder. したがって、アプリのファイル システムに書き込む独自のログ記録システムを作成することもできます。必要なファイルが自動的にストリーミングされ、ダウンロードされます。Therefore, you could create your own logging system that writes to the file system of the app, and your file is automatically streamed and downloaded. 必要な作業は、d:\home\logfiles フォルダーにファイルを作成するアプリケーション コードを記述するだけです。All you have to do is write application code that creates files in the d:\home\logfiles folder.

Web サーバーのログの分析Analyzing web server logs

Web サーバーのログの分析の詳細については、次のリソースを参照してください。For more information about analyzing web server logs, see the following resources:

失敗した要求トレース ログの分析Analyzing failed request tracing logs

失敗した要求トレース ログの活用方法については、Microsoft TechNet Web サイトの「Using Failed Request Tracing」 (失敗した要求トレースの使用) セクションなどが参考になります。The Microsoft TechNet website includes a Using Failed Request Tracing section, which may be helpful for understanding how to use these logs. ただし、このドキュメントで扱う内容は、失敗した要求トレースを IIS で構成する作業が主体です。この作業を Azure App Service で行うことはできません。However, this documentation focuses mainly on configuring failed request tracing in IIS, which you can't do in Azure App Service.