在 Audit.WebAPI 中添加新列

Add new column in Audit.WebAPI

我正在使用 .net 核心将审计日志写入 postgres 数据库。我正在关注文章 Audit.WebAPI。一切正常。日志正确写入数据库。我的要求是在登录数据库时传递一些其他信息,但我无法做到这一点。请帮助我。

PostgreSQL table:

CREATE TABLE log.auditlog
(
  id integer NOT NULL DEFAULT nextval('log.auditlog_id_seq'::regclass),
  inserted_date timestamp without time zone NOT NULL DEFAULT now(),
  updated_date timestamp without time zone NOT NULL DEFAULT now(),
  data jsonb NOT NULL,
  module character varying(100),
  CONSTRAINT auditlog_pkey PRIMARY KEY (id)
)

这里我添加了额外的列名作为 module 并想在其中设置数据。

.网核

Audit.Core.Configuration.DataProvider = new PostgreSqlDataProvider()
            {
                ConnectionString = "Server=localhost;Port=5432;User Id=postgres;Password=1234;Database=postgres;",//Local
                TableName = "auditlog",
                IdColumnName = "id",
                DataColumnName = "data",
                DataType = "JSONB",
                Schema = "log",
                LastUpdatedDateColumnName = "updated_date"
            };

通过 .NET Core 进行审计日志记录,任何其他建议都可以。

从版本 14.2.2 开始,您现在可以使用 CustomColumn() fluent API:

在 PostgreSQL table 上指定自定义列
Audit.Core.Configuration.Setup()
    .UsePostgreSql(config => config
        .ConnectionString("Server=localhost;Port=5432;User Id=postgres;Password=1234;Database=postgres;")
        .TableName("auditlog")
        .IdColumnName("id")
        .DataColumn("data", DataType.JSONB)
        .Schema("log")
        .LastUpdatedColumnName("updated_date")
        .CustomColumn("event_type", ev => ev.EventType)
        .CustomColumn("module", ev => "MyModule"));