C# 记录异常的正确方法.Net核心MVC应用程序
当我捕获异常时,我当前正在记录每一个级别的日志。 我不确定这是正确的,或者只是在日志记录中“制造噪音”。 如果我抛出异常,那么在控制器层(而不是服务和存储库层)进行日志记录,这会通过冒泡捕获所有异常吗 控制器层C# 记录异常的正确方法.Net核心MVC应用程序,c#,asp.net-mvc,exception,.net-core,try-catch,C#,Asp.net Mvc,Exception,.net Core,Try Catch,当我捕获异常时,我当前正在记录每一个级别的日志。 我不确定这是正确的,或者只是在日志记录中“制造噪音”。 如果我抛出异常,那么在控制器层(而不是服务和存储库层)进行日志记录,这会通过冒泡捕获所有异常吗 控制器层 catch (Exception ex) { new ErrorReporter("MVC", ex.ToString(), User.Identity); errorMsgList.Add(ex.Message); foreac
catch (Exception ex)
{
new ErrorReporter("MVC", ex.ToString(), User.Identity);
errorMsgList.Add(ex.Message);
foreach (var item in ex.Data.Values)
{
errorMsgList.Add(item.ToString());
}
}
存储库和服务层
catch (Exception ex)
{
new ErrorReporter("MVC", ex.ToString(), null);
throw;
}
这是我在数据库中的日志示例
ErrorReporter类做什么?您可以使用过滤器或中间件,而不是在控制器中添加异常处理。您可以在这里找到一个示例谢谢,我喜欢这个,这也引起了我的注意,我没有将ErrorReporter设置为异步。所以ErrorReporter只是执行一个sql插入器ErrorReporter类做什么?您可以使用过滤器或中间件,而不是在控制器中添加异常处理。您可以在这里找到一个示例谢谢,我喜欢这个,这也引起了我的注意,我没有将ErrorReporter设置为异步。所以ErrorReporter只是执行一个sql插入