如何设置 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);
}
我正在使用 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);
}