如何设置 AuditLog.CustomData 字段?

How do I set the AuditLog.CustomData field?

我正在使用 aspnet 样板文件,并且通过使用 [DisableAuditing][Audited] 属性,我已经成功地减少了 are/are 未记录的方法。所以那部分工作得很好,我对我的日志记录水平很满意。但是,我不明白如何有效地使用 CustomData 字段。我想使用此字段来保存默认情况下未捕获的某些额外数据,但我不知道如何设置它或在哪里设置。在此先感谢您的任何建议。

您可以子类化 AuditingStore 并将 CustomData 设置为您的数据:

public class MyAuditingStore : AuditingStore
{
    public MyAuditingStore(IRepository<AuditLog, long> auditLogRepository)
        : base(auditLogRepository)
    {
    }

    public override Task SaveAsync(AuditInfo auditInfo)
    {
        auditInfo.CustomData = "certain additional data that is not captured by default";
        return base.SaveAsync(auditInfo);
    }
}

然后替换模块中的IAuditingStore

// using Abp.Configuration.Startup;

public override void PreInitialize()
{
    Configuration.ReplaceService<IAuditingStore, MyAuditingStore>(DependencyLifeStyle.Transient);
}