Implementing Log4Net in .NET Core Applications

Adding Log4Net to .NET 6 Projects

  1. Install the Log4Net NuGet package (version 2.0.15) in you're utility project

  2. Create a logging helper class:

public class LoggerService
{
    private static readonly ILog log = LogManager.GetLogger(typeof(LoggerService));

    public static void LogInformation(string message)
    {
        log.Info(message);
    }

    public static void LogError(string error)
    {
        log.Error(error);
    }
}
  1. Add a Configs directory and create log4net.config:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
    <appender name="FileAppender" type="log4net.Appender.RollingFileAppender">
        <file value="C:\AppLogs\" />
        <appendToFile value="true" />
        <rollingStyle value="Date" />
        <datePattern value="yyyyMMdd'.log'" />
        <maxSizeRollBackups value="30" />
        <maximumFileSize value="15MB" />
        <layout type="log4net.Layout.PatternLayout">
            <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
        </layout>
    </appender>

    <root>
        <level value="ALL" />
        <appender-ref ref="FileAppender" />
    </root>
</log4net>
  1. In Startup.cs, initialize the logger:
log4net.Config.XmlConfigurator.Configure(
    new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "log4net.config")));

Console Application Implementation

  1. Add Log4Net package to your utility project
  2. Create the LoggerService class (same as above)
  3. Add Configs dircetory with log4net.config
  4. Initialize in Program.cs:
log4net.Config.XmlConfigurator.Configure(
    new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "log4net.config")));

Traditional .NET Core Projects

  1. Add Log4Net NuGet package
  2. Implement LoggerService
  3. Add to AssemblyInfo.cs:
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
  1. Create Configs directory with configuration file
  2. Initialize in Global.asax.cs:
log4net.Config.XmlConfigurator.Configure(
    new FileInfo(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Configs", "log4net.config")));

Tags: .NET Core Log4Net logging C# ASP.NET

Posted on Sat, 05 Sep 2026 16:56:43 +0000 by _OwNeD.YoU_