Levge.AuditLog
1.0.19
See the version list below for details.
dotnet add package Levge.AuditLog --version 1.0.19
NuGet\Install-Package Levge.AuditLog -Version 1.0.19
<PackageReference Include="Levge.AuditLog" Version="1.0.19" />
<PackageVersion Include="Levge.AuditLog" Version="1.0.19" />
<PackageReference Include="Levge.AuditLog" />
paket add Levge.AuditLog --version 1.0.19
#r "nuget: Levge.AuditLog, 1.0.19"
#:package Levge.AuditLog@1.0.19
#addin nuget:?package=Levge.AuditLog&version=1.0.19
#tool nuget:?package=Levge.AuditLog&version=1.0.19
Levge.AuditLog
Levge.AuditLog is a powerful and flexible audit logging system for Entity Framework Core. It automatically tracks and logs all changes (Create, Update, Delete) to your entities, including user information, timestamps, and field-level changes. The package also supports HTTP request logging, soft delete, per-user tracking, and scheduled cleanup of old logs.
Features
- ✅ Entity Change Tracking
- Tracks Insert, Update, Delete operations automatically
- Logs user ID, timestamp, and changed fields
- Stores both old and new values (except for Added)
- Integrates with
ICurrentUser<TKey>
from Levge.Identity
- ✅ HTTP Request Logging
- Logs incoming HTTP requests and responses
- Captures headers, body, and response details
- ✅ Cleanup Jobs
- Scheduled cleanup of old audit and request logs
- Configurable retention policies
Installation
Install the package via NuGet: Install-Package Levge.AuditLog Or via .NET CLI: dotnet add package Levge.AuditLog
Setup
Configure DbContext
Inherit your DbContext from
LevgeAuditDbContext<TKey>
: public class MyDbContext : LevgeAuditDbContext<int> { public MyDbContext(DbContextOptions options, ICurrentUser<int> currentUser) : base(options, currentUser) { } }Register Services
Add the required services in your
Startup.cs
orProgram.cs
: services.AddLevgeAuditLog<MyDbContext, int>(options ⇒ { options.EnableCleanupJob = true; options.RetentionDays = 30; });Middleware for Request Logging
Add the request logging middleware to your pipeline: app.UseMiddleware<RequestLoggingMiddleware<int>>();
Enable Cleanup Jobs
Ensure the cleanup jobs are registered and running: services.AddHostedService<AuditLogCleanupJob<MyDbContext, int>>(); services.AddHostedService<RequestLogCleanupJob<MyDbContext, int>>();
Usage
Entity Change Tracking
All changes to your entities (Insert, Update, Delete) will be automatically logged in the AuditLogs
table. You can query the logs as follows:
var logs = await dbContext.AuditLogs.ToListAsync();
HTTP Request Logging
Incoming HTTP requests and responses will be logged in the RequestLogs
table. You can query the logs as follows:
var requestLogs = await dbContext.RequestLogs.ToListAsync();
Configuration Options
AuditLogOptions
EnableCleanupJob
: Enables or disables the cleanup job for old audit logs.RetentionDays
: Number of days to retain audit logs.CleanupTime
: Time of day to run the cleanup job.
RequestLoggingOptions
Enabled
: Enables or disables HTTP request logging.RetentionDays
: Number of days to retain request logs.CleanupTime
: Time of day to run the cleanup job.
License
This project is licensed under the MIT License. See the LICENSE file for details.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- Levge.Domain (>= 1.1.1)
- Levge.Identity (>= 1.1.1)
- Microsoft.EntityFrameworkCore (>= 8.0.17)
- Microsoft.EntityFrameworkCore.Relational (>= 8.0.17)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last Updated |
---|---|---|
1.1.47 | 151 | 7/3/2025 |
1.1.46 | 146 | 7/3/2025 |
1.1.45 | 136 | 7/3/2025 |
1.1.44 | 144 | 7/3/2025 |
1.1.43 | 138 | 7/3/2025 |
1.1.42 | 141 | 7/2/2025 |
1.1.41 | 138 | 7/2/2025 |
1.0.20 | 112 | 6/21/2025 |
1.0.19 | 112 | 6/21/2025 |
1.0.18 | 109 | 6/21/2025 |
1.0.17 | 103 | 6/21/2025 |
1.0.16 | 142 | 6/19/2025 |
1.0.15 | 141 | 6/19/2025 |
1.0.13 | 143 | 6/19/2025 |
1.0.12 | 144 | 6/19/2025 |
1.0.11 | 145 | 6/19/2025 |
1.0.10 | 140 | 6/19/2025 |
1.0.9 | 139 | 6/19/2025 |
1.0.8 | 146 | 6/18/2025 |
1.0.7 | 145 | 6/18/2025 |
1.0.6 | 141 | 6/18/2025 |
1.0.5 | 147 | 6/18/2025 |
1.0.4 | 139 | 6/18/2025 |
1.0.3 | 153 | 6/18/2025 |
1.0.2 | 143 | 6/18/2025 |
1.0.0 | 150 | 6/17/2025 |