防止 Kestrel 记录在 ExceptionFilter 中处理的错误
Prevent Kestrel from logging errors that are handled in ExceptionFilter
我使用异常过滤器在我的 ASP.NET 核心应用程序中记录异常,如下所示:
public void OnException(ExceptionContext context)
{
var request = context.HttpContext.Request;
var resource = $"{request?.Method}: {request?.Path}{request?.QueryString}";
var logger = context.HttpContext.RequestServices.GetService<ILogger<ExceptionFilter>>();
logger.LogError(0, context.Exception, $"Error in SB.API - {resource}");
}
这很好用,但 Kestrel 也记录了这个事件,给我一个重复的条目。
当我像这样手动记录错误时,如何防止此错误进一步传播?
我不想完全关闭它,因为这样我可能会错过管道其他部分发生的错误。
设置context.ExceptionHandled = true;
,然后 Kestrel 就会知道您处理了它并且不会记录它。
我使用异常过滤器在我的 ASP.NET 核心应用程序中记录异常,如下所示:
public void OnException(ExceptionContext context)
{
var request = context.HttpContext.Request;
var resource = $"{request?.Method}: {request?.Path}{request?.QueryString}";
var logger = context.HttpContext.RequestServices.GetService<ILogger<ExceptionFilter>>();
logger.LogError(0, context.Exception, $"Error in SB.API - {resource}");
}
这很好用,但 Kestrel 也记录了这个事件,给我一个重复的条目。
当我像这样手动记录错误时,如何防止此错误进一步传播?
我不想完全关闭它,因为这样我可能会错过管道其他部分发生的错误。
设置context.ExceptionHandled = true;
,然后 Kestrel 就会知道您处理了它并且不会记录它。