NLog is a logging platform for .NET with rich log routing and management capabilities. NLog supports traditional logging, structured logging and the combination of both.
NLog alternatives and similar packages
Based on the "Logging" category.
Alternatively, view NLog alternatives based on common mentions on social networks and blogs.
Serilog9.2 7.8 L4 NLog VS SerilogSimple .NET logging with fully-structured events
Log4Net6.4 7.9 NLog VS Log4NetMirror of This is the Apache log4net logging project git repository.
StackExchange.Exceptional6.2 0.0 L3 NLog VS StackExchange.ExceptionalError handler used for the Stack Exchange network
Sentry5.4 9.3 NLog VS SentrySentry SDK for .NET
Logary5.0 0.0 NLog VS LogaryLogs and metrics are one! Professional logging, metrics and analytics for your apps.
Semantic Logging Application Block (SLAB)Supporting semantic/structured logging for .NET
ELMAH4.4 0.0 L4 NLog VS ELMAHError Logging Modules & Handlers for ASP.NET
Elmah MVC4.1 0.0 L4 NLog VS Elmah MVCPainless integration of ELMAH into ASP.NET MVC application
ZeroLog3.9 5.7 NLog VS ZeroLogA high-performance, zero-allocation .NET logging library.
NReco.Logging.File3.5 5.0 NLog VS NReco.Logging.FileGeneric file logger for .NET Core (FileLoggerProvider) with minimal dependencies
Rollbar.NET3.2 3.5 NLog VS Rollbar.NETRollbar for .NET
Sejil2.9 0.0 NLog VS SejilCapture, view and filter your ASP.net core log events right from your app
Tracer2.7 0.0 NLog VS TracerTracing rewriter using Fody
ULogViewer2.4 0.0 NLog VS ULogViewerCross-Platform Universal Log Viewer.
Logazmic2.2 2.1 L4 NLog VS LogazmicWindows log viewer for log4j
elmah.io1.9 5.5 L4 NLog VS elmah.ioELMAH error logger for sending errors to elmah.io.
Serilog.Sinks.Notepad1.8 4.4 NLog VS Serilog.Sinks.NotepadA Serilog sink that writes log events to Notepad as text or JSON
NPushOver1.7 0.0 L4 NLog VS NPushOverFull fledged, async, .Net Pushover client
BugGuardian1.4 0.0 NLog VS BugGuardianBugGuardian: Easily track you exceptions on Azure DevOps and TFS
Serilog.Sinks.ExcelDnaLogDisplayA Serilog sink that writes events to Excel-DNA LogDisplay
ExcelDna.Diagnostics.SerilogIntegrate Excel-DNA Diagnostic Logging with your Serilog logging pipeling within your Excel-DNA add-in
NLog.Targets.Pushover0.9 0.0 L5 NLog VS NLog.Targets.PushoverNLog.Targets.Pushover is a custom target for NLog enabling you to send logging messages to the Pushover service
Ac682.Extensions.Logging.Consolea provider for Microsoft.Extensions.Logging which provides a colored console logger.
Essential DiagnosticsExtends the inbuilt features of System.Diagnostics namespace to provide flexible logging
LoupeCentralized .NET logging and monitoring
BugSnagLogs errors. Includes useful diagnostic info like stack trace, session, release, etc. Has a free tier. [Free for OSS][$]
Static code analysis for 29 languages.
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest.
Do you think we are missing an alternative of NLog or a related project?
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.
Major and minor releases will be posted on project news. For smaller updates, follow us on Twitter
For the possible options in the config, check the Options list and API Reference
Having troubles? Check the troubleshooting guide
ℹ️ NLog 5.0 Released!
NLog 5.0 is finally here. See List of major changes in NLog 5.0
The NLog-nuget-package provides everything needed for doing file- and console-logging. But there are also multiple NLog extension packages, that provides additional target- and layout-output. See targets and layout renderers overview!
See Nuget/build status of all official packages here
Questions, bug reports or feature requests?
Issues with getting it working? Please check the troubleshooting guide before asking! With a clear error message, it's really easier to solve the issue!
Unclear how to configure NLog correctly of other questions? Please post questions on StackOverflow.
Do you have feature request or would you like to report a bug? Please post them on the issue list and follow [these guidelines](.github/CONTRIBUTING.md).
Frequently Asked Questions (FAQ)
See FAQ on the Wiki
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.
Please note, we have a
masteris for pure bug fixes and targets NLog 4.x
devtargets NLog 5
A good way to get started (flow)
- Fork the NLog repos.
- Create a new branch in you current repos from the 'dev' branch. (critical bugfixes from 'master')
- 'Check out' the code with Git or GitHub Desktop
- Check [contributing.md](.github/CONTRIBUTING.md#sync-projects)
- Push commits and create a Pull Request (PR) to NLog
Please note: bugfixes should target the master branch, others the dev branch (NLog 5)
NLog is open source software, licensed under the terms of BSD license. See [LICENSE.txt](LICENSE.txt) for details.
How to build
Use Visual Studio 2019 and open the solution 'NLog.sln'.
For building in the cloud we use:
- AppVeyor for Windows- and Linux-builds
- SonarQube for code coverage
Trying to build your fork in the cloud? Check [this how-to](howto-build-your-fork.md)
Note: master points to NLog 4.x and dev to NLog 5.x
*Note that all licence references and agreements mentioned in the NLog README section above are relevant to that project's source code only.