NLog.Web.AspNetCore

Integrates NLog as provider for Microsoft.Extensions.Logging, and provides NLog LayoutRenderers to enrich logging output with details from HttpContext.


Keywords
MVC, Microsoft.Extensions.Logging, NLog, aspnet, aspnetcore, httpcontext, log, logging, web, asp-net, asp-net-core, asp-net-core-mvc, asp-net-mvc, aspnet-mvc, csharp, dotnet, logger, logging-library, netcore, netstandard20
License
BSD-3-Clause
Install
Install-Package NLog.Web.AspNetCore -Version 4.8.6

Documentation

NLog

NLog.Web (ASP.NET & ASP.NET Core)

NuGet Release

NuGet Release

Build status

These packages are extensions to NLog, and provides targets and layout-renderes specific to ASP.NET (Core), MVC and IIS.

Getting started with NLog

Config

Troubleshooting

Releases

For updates and releases, check CHANGELOG.MD or Releases

ASP.NET Core

The NLog.Web.AspNetCore-package supports the platforms:

  • For ASP.NET Core - .NET 5, 6, 7 and 8
  • For ASP.NET Core - .NET Core 3.1
  • For ASP.NET Core 2.1 .NET Standard 2.0 for .NET 4.6.1

ℹ️ Missing the trace and debug logs? Check your appsettings.json

Use the NLog.Web.AspNetCore package

ASP.NET (non-core)

The NLog.Web-package works with classic ASP.NET MVC

  <!-- enable ASP.NET layout renderers -->
  <extensions>
    <add assembly="NLog.Web"/>
  </extensions>

HTTP module (ASP.NET non-core)

There is a ASP.NET ASP.NET HttpModule that enables NLog to hook BeginRequest and EndRequest events easily.

The NLogHttpModule needs a registration in the web.config:

<system.webServer> 
	<modules runAllManagedModulesForAllRequests="true"> 
		<add name="NLog" type="NLog.Web.NLogHttpModule, NLog.Web" />
	</modules>
</system.webServer>

Contributions

Contributions are highly appreciated! Please make sure if works for ASP.NET and ASP.NET Core if possible and make sure it is covered by unit tests.

License

BSD