首页 > 解决方案 > 如何在 ASP.Net Core 应用程序中使用 Serilog 在单独的列中记录异常类型?

问题描述

有没有办法在 ASP.Net Core 应用程序中使用 Serilog 在单独的列中记录异常类型?值得我们使用 .Net Core 3.1

登录到 SQL Server 数据库表时,有一个名为“异常”的默认列,但它包含很多信息,包括调用堆栈。

我想要的是一个单独的列,只有异常类型,如“NotImplementedException”或“ArgumentNullException”,仅此而已。

我知道我可能需要使用浓缩器,但不确定在这种情况下如何使用。

标签: asp.net-core.net-coreasp.net-core-webapiserilog

解决方案


建议:

使用来源,卢克

  1. 从 GitHub 下载 Serilog 源码:https ://github.com/serilog/serilog-sinks-mssqlserver

  2. 了解MSSqlServerSink 的工作原理。

  3. 最好的情况是,您可以利用“可配置”(例如“columnOptions”或“MessageTemplate”)。

  4. 否则,您应该能够使用您自己的具有所需架构的自定义接收器子类化 MSSqlServerSink。

  5. 另请参阅 serilog-sinks-mssqlserver/sample/CustomLogEventFormatterDemo


推荐阅读