将 Audit.WebApi 个日志保存到数据库

Save Audit.WebApi logs to a database

我将 Audit.WepApi (found here) 与我的 .Net Core 2.2 应用程序一起使用,它是一个 Web API。我设法使用默认选项在我的控制器上配置它。它非常适合记录 API 调用,希望能增加安全性

但是,我似乎找不到任何关于将日志保存到 SQL 数据库的信息。或者是否有任何程序可以更好地理解 .json 文件?

Here 您可以找到可用于存储审计事件的不同数据提供程序的文档索引。

例如,您可以引用包 Audit.Net.SqlServer 并通过 .UseSqlServer 扩展配置提供程序:

using Audit.Core;

Audit.Core.Configuration.Setup()
    .UseSqlServer(_ => _
        .ConnectionString("data source=...")
        .TableName("Event")
        .IdColumnName("EventId")
        .JsonColumnName("Data"));

您还可以创建自己的数据提供者。查看文档here,例如:

public class MyCustomDataProvider : AuditDataProvider
{
    public override object InsertEvent(AuditEvent auditEvent)
    {
        var json = auditEvent.ToJson();
        // ...
    }
}