在捕获并处理重复条目异常以继续应用程序工作流时,我希望阻止windows事件日志插入异常。
需要明确的是:我不想在我的asp.net核心应用程序中全局关闭异常日志记录。我只想阻止登录特定的代码空间和特定的exceptiontype。
想法?
bool success = false;
try
{
await dbcontext.AddAsync(order);
await dbcontext.SaveChangesAsync();
success = true;
}
catch (DbUpdateException ex)
{
if (ex.InnerException != null)
{
if (ex.InnerException.Message.Contains("Duplicate"))
{
success = false;
}
}
}
return success;
在一个标准的web应用程序中,已经有两个不同的"代码空间";日志记录级别设置。如果您为代码空间创建自己的日志代理,您也可以这样做。
"Logging": {
"LogLevel": {
"Default": "Warning",
"Microsoft.AspNetCore": "Warning"
}
}
由于异常已经通过库捕获并记录,您需要将其日志记录级别设置为无,并在更高级别捕获或使用过滤器。