Audit.NET.log4net

April 9, 2025 · View on GitHub

log4net storage provider for Audit.NET library (An extensible framework to audit executing operations in .NET).

Store the audit events using Apache log4net™.

Install

NuGet Package

To install the package, run the following command on the Package Manager Console:

PM> Install-Package Audit.NET.log4net

NuGet Status NuGet Count

Usage

Please see the Audit.NET Readme

Configuration

To set the log4net data provider globally, call the UseLog4net() method on the fluent configuration API, for example:

Audit.Core.Configuration.Setup()
    .UseLog4net();

You can also configure the provider settings by using the fluent API, for example:

Audit.Core.Configuration.Setup()
    .UseLog4net(config => config
        .Logger(LogManager.GetLogger(typeof(MyClass)))        
        .LogLevel(LogLevel.Debug)
        .Message(auditEvent => auditEvent.ToJson()));

The Logger and LogLevel settings can be configured as a function of the audit event, for example:

Audit.Core.Configuration.Setup()
    .UseLog4net(config => config
        .Logger(ev => LogManager.GetLogger(ev.EventType))        
        .LogLevel(ev => ev.Environment.Exception != null ? LogLevel.Fatal : LogLevel.Info));

Settings

  • Logger Indicates the log4net ILog logger instance to use. Default is obtained by using the audit event type LogManager.GetLogger(auditEvent.GetType()).
  • LogLevel Indicates the log level to use (debug, info, warn, error or fatal). Default is Info unless there is an exception, in which case it logs as Error.
  • Message Indicates the textual message to log. Default is the AuditEvent JSON including the EventId as a custom field.

ZZZ Projects - Sponsorship

Entity Framework Extensions and Dapper Plus are major sponsors and are proud to contribute to the development of Audit.NET

Combine the power of auditing with the speed of Bulk Operations to get the best of both worlds — audit and performance.

Entity Framework Extensions - Sponsor

Dapper Plus - Sponsor