如何使用 .NET Core 配置 Elmah 以记录到 SQL?



我已经安装了软件包"ElmahCore",它允许我在.NET Core中使用Elmah。它由以下人员设置:

services.AddElmah();

在创业公司.cs

我想将其更改为记录到 SQL,以便它是持久的。但是目前还不清楚如何 - 没有web.config,它似乎是没有配置的。我也看不到任何添加SQL日志记录的选项。

有一个elmah.corelibrary nuget package,但它似乎没有与第一个库一起玩 - 做services.AddElmah<SqlErrorLog>有人建议的 elsewehre 不起作用,因为它是错误的ErrorLog类。

或者,如果有更好的 .net 核心框架可以持久记录异常并允许发送通知电子邮件,我将不胜感激,我想知道 Elmah 是否已经过了销售日期。

elmah.corelibrary包是ELMAH for ASP.NET(不是核心)的一部分。若要从 ASP.NET Core 登录到 SQL Server,需要安装ElmahCore.SqlNuGet 包以获取正确的SqlErrorLog类:

using ElmahCore.Mvc;
using ElmahCore.Sql;
...
services.AddElmah<SqlErrorLog>(options =>
{
options.ConnectionString = "Server=localhost;Database=ELMAH;Integrated Security=True;";
});

至于你对ELMAH的问题,它绝对没有死。ELMAH 对于 ASP.NET 已经完成,而不同日志"追加器"的工作仍在发生。ElmahCore是原始ELMAH代码的端口,用于支持 ASP.NET Core。我是 elmah.io 的创始人,它为您提供在云中存储错误消息的功能(以及一系列其他功能,这些功能使我知道的名称令人困惑)。有类似的解决方案,如Raygun和Stackify。

最新更新