Description
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.
-
Serilog
A no-nonsense logging library for the NoSQL era. Combines the best of traditional and structured diagnostic logging in an easy-to-use package. -
Logary
Logary is a high performance, multi-target logging, metric, tracing and health-check library for mono and .Net. .Net's answer to DropWizard. Supports many targets, built for micro-services. -
Sentry
.NET SDK for Sentry Open-source error tracking that helps developers monitor and fix crashes in real time.. -
Semantic Logging Application Block (SLAB)
Extends the inbuilt features of System.Diagnostics.Tracing namespace (EventSource class) to log to several sinks including Azure Tables, Databases, files (JSON, XML, text). Supports in-process and out-of-process logging through ETW, and Rx for real-time filtering/aggregating of events. -
Rollbar.NET
Simplifies real-time remote error monitoring while using Rollbar.com. Open-source Rollbar Notifier SDK for any .NET-based technology stack. The SDK that can be used in any application built on the following .NET versions: .NET Core 2.0+, .NET Standard 2.0+, .NET Full Framework 4.5.1+, Mono, Xamarin, and, in general, any implementation of the .NET Standard 2.0+. It simplifies building data payloads based on exception data, tracing data, informational messages, and telemetry data and sends the payloads to the Rollbar API for remote monitoring and analysis of the hosting application's behavior. -
ExcelDna.Diagnostics.Serilog
Integrate Excel-DNA Diagnostic Logging with your Serilog logging pipeling within your Excel-DNA add-in -
Serilog.Sinks.ExcelDnaLogDisplay
A Serilog sink that writes events to Excel-DNA LogDisplay -
NLog.Targets.Pushover
NLog.Targets.Pushover is a custom target for NLog enabling you to send logging messages to the Pushover service -
Essential Diagnostics
Extends the inbuilt features of System.Diagnostics namespace to provide flexible logging -
BugSnag
Logs errors. Includes useful diagnostic info like stack trace, session, release, etc. Has a free tier. [Free for OSS][$]
Pixel-Perfect Multi-Platform Applications with C# and XAML
* Code Quality Rankings and insights are calculated and provided by Lumnify.
They vary from L1 to L5 with "L5" being the highest. Visit our partner's website for more details.
Do you think we are missing an alternative of NLog or a related project?
README
<!--NLog is Looking for Developers!-->
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
Getting started
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!
NLog Packages
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!
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
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)
- 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)
License
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 2017 and open the solution 'NLog.sln' - C# 7.2 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](howto-build-your-fork.md)
*Note that all licence references and agreements mentioned in the NLog README section above
are relevant to that project's source code only.