如何防止 Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware 异常记录到事件日志中

问题描述 投票:0回答:1

我有一个 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

执行请求时发生未处理的异常。

我在这里做错了什么?

exception asp.net-core-webapi serilog
1个回答
0
投票

您可以添加以下配置来避免此日志记录。

builder.Logging.AddEventLog(settings =>
{
    settings.LogName = "MyAppLog"; // Optional custom log name
}).AddFilter("Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware", LogLevel.None);`
``
© www.soinside.com 2019 - 2024. All rights reserved.