1
私はasp.netコアmvcを初めて使用しています。私は私のコードのMicrosoftを使用してグローバル例外処理とログインasp.net MVCコア
である私はここに1つの場所でグローバルに
を書くために助けてくださいすべてのコントローラ内のすべての下記記述する必要はいけないpalce..i上のログイングローバル例外処理やエラーを記述する必要があります。 AspNet.Diagnostics; .UseExceptionHandler()
を使用してStartup.cs
で
using Microsoft.AspNet.Http.Features;
using Microsoft.AspNet.Mvc;
using Microsoft.Extensions.Logging;
namespace NS.Controllers
{
public class HomeController : Controller
{
static ILogger _logger;
public HomeController(ILoggerFactory factory)
{
if (_logger == null)
_logger = factory.Create("Unhandled Error");
}
public IActionResult Error()
{
var feature = HttpContext.Features.Get<IExceptionHandlerFeature>();
var error = feature?.Error;
_logger.LogError("Oops!", error);
return View("~/Views/Shared/Error.cshtml", error);
}
}
}
あなたは 'app.UseExceptionHandler( "/エラー")を使用することができます。 '' Configure() 'のメソッド –
ありがとうございました..各コントローラにpublic IActionResult Error(){}を書きたくありません。どのようなメソッドでもエラー関数をグローバルに書き込みますか? – Ljt
これはあなたのアプリでグローバルに機能しています。 'UseExceptionHandler()'例外が発生した場合はそれをキャッチし、指定されたコントローラとアクションにリダイレクトします。したがって、実際には、 'Error'アクションを持つ単一の' ErrorController'を使用することができます。 –