AuditLogging️ Simple audit logging for .NET Core with EntityFramework Core项目地址:https://gitcode.com/gh_mirrors/au/AuditLogging
Skoruba.AuditLogging 是一个为.NET Core应用程序设计的简单审计日志框架,支持EntityFramework Core。该项目已经升级到.NET 6,提供了强大的日志记录功能,帮助开发者轻松实现用户和机器操作的审计日志记录。
Skoruba.AuditLogging 利用了.NET Core和EntityFramework Core的核心功能,通过简单的配置和集成,即可在应用程序中实现详细的审计日志记录。它支持多种日志源和类别,能够记录包括用户操作、机器操作在内的多种事件,并将这些日志持久化到数据库中。
dotnet add package Skoruba.AuditLogging.EntityFramework --version 1.1.0
services.AddAuditLogging(options =>
{
options.Enabled = true;
options.UseDefaultSubject = true;
options.UseDefaultAction = true;
})
.AddDefaultHttpEventData(subjectOptions =>
{
subjectOptions.SubjectIdentifierClaim = ClaimsConsts.Sub;
subjectOptions.SubjectNameClaim = ClaimsConsts.Name;
},
actionOptions =>
{
actionOptions.IncludeFormVariables = true;
})
.AddDefaultStore(options => options.UseSqlServer(Configuration.GetConnectionString("ApplicationDbContext"),
optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly)))
.AddDefaultAuditSink();
services.AddAuditLogging(options =>
{
options.UseDefaultAction = false;
options.Source = "Web"
})
.AddStaticEventSubject(subject =>
{
subject.SubjectType = AuditSubjectTypes.Machine;
subject.SubjectIdentifier = EmailServiceConsts.Name;
subject.SubjectName = Environment.MachineName;
})
.AddDefaultEventAction()
.AddStore>(options =>
options.UseSqlServer(configuration.GetConnectionString("ApplicationDbConnection"),
optionsSql => optionsSql.MigrationsAssembly(migrationsAssembly)))
.AddDefaultAuditSink();
// 创建假产品
var productDto = new ProductDto
{
Id = Guid.NewGuid().ToString(),
Name = Guid.NewGuid().ToString(),
Category = Guid.NewGuid().ToString()
};
// 记录用户操作
var productGetUserEvent = new ProductGetEvent
{
Product = productDto
};
await _auditEventLogger.LogEventAsync(productGetUserEvent);
// 记录机器操作
var productGetMachineEvent = new ProductGetEvent
{
Product = productDto,
SubjectType = AuditSubjectTypes.Machine,
SubjectName = Environment.MachineName,
SubjectIdentifier = Environment.MachineName,
Action = new { Method = nameof(Get), Class = nameof(AuditController) }
};
await _auditEventLogger.LogEventAsync(productGetMachineEvent, options =>
{
options.UseDefaultSubject = false;
options.UseDefaultAction = false;
});
Skoruba.AuditLogging 是一个强大且易于集成的审计日志框架,适用于各种.NET Core应用程序。无论是Web应用还是后台服务,它都能提供详细的日志记录功能,帮助开发者更好地监控和管理应用程序。立即尝试,提升您的应用安全性和可维护性!
AuditLogging️ Simple audit logging for .NET Core with EntityFramework Core项目地址:https://gitcode.com/gh_mirrors/au/AuditLogging