web-dev-qa-db-ja.com

未処理の例外を.netコアに記録する方法

Web API 2.0のELMAH機能と一元化されたロギングとエラー処理により、ランタイムはロギングモジュールを呼び出し、処理できるかどうかを判断してハンドラーを呼び出し、それ以外の場合はログに記録します。この機能をWeb APIコアに追加するには組み込みの一元化された未処理のロギング機能がないためです。

私が得た1つの方法は、ExceptionHandlerミドルウェアを使用し、それが呼び出されたときに例外を取得してログに記録するか、電子メールを送信することです。しかし、ハンドラーが呼び出されない場合はどうなりますか。

8
zubin joshi

ミドルウェアはそうするための方法かもしれません。ここにガイドを書きました: ASP.NET Coreのエラーログミドルウェア

私はおそらく Microsoft.Extensions.Logging をSerilog、NLog、log4netのようなロギングフレームワークと組み合わせて調べます。

9
ThomasArdal

Elmahの this port を.NET Coreに試してください。

services.AddElmah(); // in ConfigureServices 

app.UseElmah(); // in Configure, before UseMvc()
0
Andy