2016-02-29 13 views
11

私は紺碧に展開されたWebアプリケーションを持っていますが、エラーを記録する方法はわかりません。私はこのようなすべての診断ログを有効にAzureの上 enter image description hereAzureのASP.NET Webアプリケーション - エラーを記録する方法は?

:このような原因

public string ForceError() 
{ 
    throw new Exception("just a test exception"); 
    return "ok"; 
} 

とエラー:

はテスト目的のために、私はこのForceError方法を持っている enter image description here

しかし、私が強制したエラーは、選択したストレージコンテナには表示されません。

アプリケーションからすべてのエラーをログに記録するには、どうすればよいですか?

答えて

5

AzureのWebサイトでは、ログに記録する最もよい方法はApplication Insightsです。無料版を使用すると、クラッシュ/スピード/パフォーマンスに関する洞察を得ることができます。

しかし、すべてを有効にすると、Application Insightsは少し遅くなります。しかし、それをカスタマイズしてエラーログのみを有効にすると、すべてのログが晴天のアプリケーションのインサイトアカウントにプッシュされ、非常にうまく監視/分析できるようになります。詳細については

:代わりに、自動的にアプリケーションの洞察を設定する https://azure.microsoft.com/en-in/documentation/articles/app-insights-api-custom-events-metrics/

、私は空のプロジェクト、セットアップアプリケーションの洞察を取る、お勧めします。すべての設定ファイルとナゲットパッケージを確認してください。いくつかの洞察設定ファイルがありますが、アプリケーションの鍵/署名以外はすべてを無効にすることができます。

例外を手動で追跡する場合のみ、TelemetryClientを作成してTrackExceptionメソッドを呼び出すことができます。必要に応じて詳細を渡すことができます。

+0

こんにちは、これは私が探していたようです。 App Insightを「エラーレベル」のログに使用する方法や、リファレンスを提供する方法について詳しく説明できますか? – nest

+1

ちょうど加えて、私のようにmvcフレームワークを使用している場合は、これを行う方法を正確に示しています。 https://azure.microsoft.com/en-us/documentation/articles/app-insights-asp-net-exceptions/#mvc – nest

11

私はAzure Webアプリケーションログでは例外をスローするのはうまくいきません。

ASP.NETアプリケーションでは、System.Diagnostics.Traceクラスを使用して、アプリケーション診断ログに情報を記録できます。例では4つの方法は、以下の診断ログレベルに対応する:このようなインスタンスID、スレッドID、および詳細などの記録されたイベント、ブロブストレージログ追加情報のための基本的な情報に加え

Trace.TraceError("Message"); // Write an error message 
Trace.TraceWarning("Message"); // Write a warning message 
Trace.TraceInformation("Message"); // Write an information message 
Trace.WriteLine("Message"); // Write a verbose message 

enter image description here

CSVの細かいタイムスタンプ(ティック形式)。

enter image description here

ログのヒントやツールについての素晴らしい記事here

公式への参照Azure Web Apps Logging Documentも参照してください。

関連する問題