使用.NET Core Web API将异常记录到数据库

时间:2019-04-09 11:27:48

标签: asp.net-core asp.net-core-2.0 asp.net-core-webapi asp.net-core-2.1

.NET Core Web API是我的新手。我想将异常日志数据写入数据库。

我能够捕获所有异常,但是我不知道将数据写入数据库的下一个实现在哪里。对于数据库,我使用的是PostgreSQL。

statup.cs

ID      Path            RecursionLevel
100     /AAA            0
100     /BBB            0
100     /CCC            0
100     /AAA/BBB        1
100     /AAA/CCC        1
100     /BBB/CCC        1
100     /AAA/BBB/CCC    2
200     /DDD            0
200     /EEE            0
200     /DDD/EEE        1

1 个答案:

答案 0 :(得分:0)

我假设您使用的是Andrei提供的代码:https://stackoverflow.com/a/38935583

我可以建议您注册一个外部中间件,例如Andrei在他的回答中提出的第一种方法。 然后,在中间件中,您可以注册一个服务,该服务负责调用数据访问层。此DAL将提供一种将日志写入数据库的方法。

本文将帮助您配置应用程序以与Entity Framework和Postgres配合使用,并对以下两层之间的代码进行编码:https://www.compose.com/articles/code-first-database-design-with-entity-framework-and-postgresql/

要继续:

  • 配置您的应用程序以将EF Core与Postgres一起使用
  • 创建您需要使用的实体
  • 创建数据访问层,以允许您的应用播放数据
  • 编写服务层代码,并添加负责写日志的服务
  • 从startup.cs中获取您的Exception中间件,并将其称为日志服务

也就是说,最好的方法是使用Log4net或Serilog之类的记录器。这样,您可以从集中的地方获取日志,并可以将这些日志“发送”到数据库,文件,邮件等。