我有一个 ASP.NET Core 8 Web API,它使用 Serilog 将所有内容记录到文件中。我正在使用它设置一个全局错误处理程序
program.cs
:
app.UseExceptionHandler(new ExceptionHandlerOptions()
{
AllowStatusCode404Response = true,
ExceptionHandlingPath = "/error"
});
我看过几篇文章说将其添加到 app.settings 中应该会阻止
ExceptionHandlerMiddleware
被记录:
"Logging": {
"LogLevel": {
"Microsoft.AspNetCore": "None"
}
}
但是,每当抛出异常时,它都会记录到我的 Serilog 文件中,并显示在 EventLog 中:
类别:Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware 事件ID:1
跨度 ID:436cfbe67205ba87
跟踪 ID:74e004a439b069b40d366019bc429ac3
父 ID: 0000000000000000
连接 ID:0HN6V3VNU8A4U
请求 ID:0HN6V3VNU8A4U:00000001 请求路径:/QAReleaseAhead/Profile执行请求时发生未处理的异常。
我在这里做错了什么?
您可以添加以下配置来避免此日志记录。
builder.Logging.AddEventLog(settings =>
{
settings.LogName = "MyAppLog"; // Optional custom log name
}).AddFilter("Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware", LogLevel.None);`
``