ASP.NET 5 でのエラーの処理とログ記録には、いくつかの要素が含まれます。
運用シナリオでエラーを処理し、エラー ページを表示するには、このapp.UseExceptionHandler()
方法が最適です。ASP.NET GitHub 組織の Diagnostics リポジトリには、これを示すサンプルが含まれています。完全なスタック トレースやその他の診断情報を表示する必要がある開発時のシナリオでは、このサンプルapp.UseDeveloperExceptionPage()
に示されているように使用します。
アプリケーションが ASP.NET MVC 6 を使用している場合、ASP.NET MVC の以前のバージョンと同様に、MVC 固有のエラー処理方法があります。ASP.NET MVC 6 では、フィルター (またはフィルターでもあるコントローラー自体) がOnActionExecuted
メソッドを処理/オーバーライドし、パラメーターを検査しActionExecutedContext
てエラーの処理を試みることができます。
ロギングに関して言えば、ASP.NET 5 には新しいロギング インフラストラクチャがあり、登録されているすべての に大量の情報を報告しますILogger
。Visual Studio 2015 の既定のプロジェクト テンプレートは、エラー (およびその他のデータ) をコンソールと Visual Studio デバッグ出力ウィンドウに記録するいくつかのロガーを登録します。ただし、IIS または IIS Express で実行する場合、コンソール ウィンドウはありません (まだ!)。ただし、コマンド ラインから (を使用してdnx web
) 実行すると、エラーが表示されます。もちろん、ログ ファイルまたはデータベースに書き込む別のロガーを登録して、そこでログを表示することもできます。
ILogger
Web アプリでカスタムを登録するには:
- インターフェイスを実装するロガーを作成し
ILogger
ます。これを行う方法については、 DNX の実装を参照してください。
ILoggerFactory
型のパラメーターをアプリのStartup
クラスのConfigure
メソッドに追加します。
- メソッド内で、ロガーのインスタンスを
Configure
呼び出して渡します。loggerFactory.AddProvider(<some provider>)