NLog - Advanced and Structured Logging for Various .NET Platforms
Switch branches/tags
Clone or download
304NotModified Merge pull request #2949 from snakefoot/MdlcReadOnlyList
MappedDiagnosticsLogicalContext - SetScoped with IReadOnlyList
Latest commit 1cd13ef Oct 14, 2018

README.md

NLog

NuGet Semantic Versioning Twitter Follow StackOverflow license

codecov.io

NLog is a free logging platform for .NET with rich log routing and management capabilities. It makes it easy to produce and manage high-quality logs for your application regardless of its size or complexity.

It can process diagnostic messages emitted from any .NET language, augment them with contextual information, format them according to your preference and send them to one or more targets such as file or database.

For more information, see the website nlog-project.org or just get started with the tutorials on the NLog wiki.

Major releases will be posted on project news. For smaller updates, follow us on Twitter

Getting started

More detailed tutorial can be found here.

For the possible options in the config, check the Options list

Having troubles? Check the troubleshooting guide


ℹ️ Looking for NLog 5? Just install NLog 4.5!

NLog 4.5 implements the platforms added in NLog 5 (.NET Standard 1, .NET Standard 2, UWP, etc) and added structural logging, without breaking changes!


Packages & Status

NLog consists of multiple packages. Most of the functionality is inside the NLog (core) package. What's inside the packages? See targets and layout renderers overview!

Package Build status NuGet
NLog AppVeyor Build Status NuGet
NLog.Extensions.Logging Build status NuGet Pre Release
NLog.Config AppVeyor NuGet package
NLog.Contrib.ActiveMQ AppVeyor NuGet package
NLog.Extended AppVeyor NuGet package
NLog.Elmah AppVeyor NuGet package
NLog.Etw AppVeyor NuGet package
NLog.InstallNLogConfig AppVeyor NuGet package
NLog.MailKit AppVeyor NuGet package
NLog.ManualFlush AppVeyor NuGet package
NLog.Schema AppVeyor NuGet package
NLog.Web AppVeyor NuGet package
NLog.Web for ASP.NET Core AppVeyor NuGet package
NLog.Windows.Forms AppVeyor NuGet package
NLog.Owin.Logging AppVeyor NuGet package

Questions, bug reports or feature requests?

Do you have feature request or would you like to report a bug? Please post them on the issue list and follow these guidelines. Please post questions on StackOverflow.

Frequently Asked Questions (FAQ)

See FAQ on the Wiki

Contributing

As the current NLog team is a small team, we cannot fix every bug or implement every feature on our own. So contributions are really appreciated!

If you like to start with a small task, then up-for-grabs are nice to start with.

A good way to get started (flow)

  1. Fork the NLog repos.
  2. Create a new branch in you current repos from the 'master' branch.
  3. 'Check out' the code with Git or GitHub Desktop
  4. Check contributing.md
  5. Push commits and create a Pull Request (PR) to NLog

License

NLog is open source software, licensed under the terms of BSD license. See LICENSE.txt for details.

How to build

Use Visual Studio 2017 and open the solution 'NLog.sln' - C# 7.0 support is required.

For building in the cloud we use:

  • AppVeyor for Windows builds, including Silverlight and Xamarin.
  • Travis for Mono builds.
  • CodeCov for code coverage

Trying to build your fork in the cloud? Check this how-to