Skip to content

Latest commit

 

History

History
73 lines (52 loc) · 2.19 KB

File metadata and controls

73 lines (52 loc) · 2.19 KB

Microsoft.Extensions.Logging.Log4Net.AspNetCore

Allows to configure Log4net as Microsoft Extensions Logging handler on any ASP.NET Core application.

Thanks to @anuraj for this original blog post.

Build status NuGet

Example of use

  • Install the package or reference the project into your asp.net core application.

  • Add the AddLog4Net() call into your Configure method of the Startup class.

using Microsoft.Extensions.Logging;

public class Startup
{
    //...

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        //...

        loggerFactory.AddLog4Net(); // << Add this line
        app.UseMvc();

        //...
    }
}
  • Add a log4net.config file with the content:
<?xml version="1.0" encoding="utf-8" ?>
<log4net>
  <appender name="DebugAppender" type="log4net.Appender.DebugAppender" >
    <layout type="log4net.Layout.PatternLayout">
      <conversionPattern value="%date [%thread] %-5level %logger - %message%newline" />
    </layout>
  </appender>
  <root>
    <level value="ALL"/>
    <appender-ref ref="DebugAppender" />
  </root>
</log4net>

Use custom exception logging formatter

If you want to manage explicitly your exception logging when you pass it as parameter, you should initialize the logger on your Startup class as follows:

using Microsoft.Extensions.Logging;

public class Startup
{
    //...

    public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
    {
        //...

        loggerFactory.AddLog4Net((state, exception) => return "yourString");  // Change the lambda by your formatting exception method.
        app.UseMvc();

        //...
    }
}