NLog
NLog - Advanced and Structured Logging for Various .NET Platforms (by nlog)
Serilog
Simple .NET logging with fully-structured events (by serilog)
Our great sponsors
NLog | Serilog | |
---|---|---|
20 | 55 | |
6,160 | 6,926 | |
0.8% | 1.3% | |
8.9 | 7.0 | |
6 days ago | 11 days ago | |
C# | C# | |
BSD 3-clause "New" or "Revised" License | Apache License 2.0 |
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
NLog
Posts with mentions or reviews of NLog.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2023-03-28.
-
Help with matching Serilog with Regex
What is it you're trying to accomplish? Either this is a regular expression problem (not really dotnet related) or you should try using structured logging, with a provider and sink that support it so you don't have to use regular expressions.
-
Logging in ASP.NET
NLog
- Use structured logging instead of string interpolation
-
Best approach for logging in ASP.NET
Log4Net does not get that much attention any more. From my understanding it served as an alternative for Log4J, but today better and more modern solutions have been created. I migrated a codebase over to .NET Core a couple of years ago, and it seemed that Log4net had issues running on Linux because of kernel calls inside their codebase. If you look at the version history on NuGet, it had just 3 patch releases last year. As an alternative, I would suggest to check out NLog.
-
Logging in your API
C# -> Built in Logger, Log4Net, Serilog, NLog, e.t.c.
-
Propper Logging in Unity
I would like to use a proper logger like https://github.com/nlog/nlog
-
Powershell logging module
I'm going to look at psframework mentioned elsewhere, but i make use of .NET NLog https://nlog-project.org/. it's not terribly hard to wire up, and is pretty feature rich.
-
How to implement custom logger with compatible with Nlog?
have a look at this https://github.com/nlog/nlog/wiki/Context you dont want to make your own logger 99% of them time
-
Log literally everything a PS1 script is doing?
For a more structured log file*) layout, you could use something like NLog with a PS wrapper.
-
How to Send Bulk Log Email
NLog is another option here, with the buffering wrapper around an email target.
Serilog
Posts with mentions or reviews of Serilog.
We have used some of these posts to build our list of alternatives
and similar projects. The last one was on 2024-04-06.
-
Logging in .NET 8 with Serilog and Seq
To learn more about Serilog, you can visit the documentation on their GitHub project. To learn more about Seq, you can visit the documentation on their website.
-
Microsoft Entity Framework Core 8 samples
These projects use dependency injection for connections and have no logging although they are ready to log to the console via SeriLog setup in Program.cs.
-
Logging - How to configure Log Content?
See here: https://github.com/serilog/serilog/wiki/Configuration-Basics e.g.
-
Using toast notifications in Windows Forms
Captured in public static void OnActivated() and note Log is SeriLog.
-
How to set up Serilog "Enrichers"?
"Serilog": { "Using": [ "Serilog.Sinks.File" ], "Enrich": [ "WithHttpRequestId", "WithExceptionDetails", "WithClientIp" ], "MinimumLevel": { "Default": "Information" }, "WriteTo": [ { "Name": "File", "Args": { "path": "../../../../../Logs/MyApp/MyApp-.log", "rollingInterval": "Day", "retainedFileCountLimit": "7", "outputTemplate": "[{Timestamp:yyyy-MM-dd HH:mm:ss.fff zzz} {CorrelationId} {Level:u3}] {Username} {Message:lj}{NewLine}{Exception} {Properties:lj}{NewLine}" } } ] } 👆 I got the enricher names from serilog's wiki. The idea was to log the HTTPRequestId, ClientIp, and automagically log the details of every exception thrown (without having to do _logger.LogError(...)). However I don't see those details in the logs. In Program.cs: ``` var logger = new LoggerConfiguration() .ReadFrom.Configuration(builder.Configuration) .Enrich.FromLogContext() .CreateLogger();
- How to log to an Excel file?
-
How can I fix logger maximum destructuring reached error when using Serilog C#?
You could also write a custom destructuring policy, assuming it's a flurl-specific public exception type and you only need certain properties of it. You'd implement IDestructuringPolicy and then add it to the configuration:
- getting started with loggin
-
A command line tool that converts GraphQL schemas to Karate API tests
Serilog for logging
-
question about TargetFrameworks/multitargetting (new style SDK) csprojs... via serilog example
I've cloned https://github.com/serilog/serilog and I'm not sure what's going on with the multitargetting in the tests? Does this (below) mean, if the dev's OS is windows, then target framework 462 or 471? What should I do on my laptop, which only has the net6 and fw48 sdk installed?
What are some alternatives?
When comparing NLog and Serilog you can also consider the following projects:
Log4Net - Apache Log4net is a versatile, feature-rich, efficient logging API and backend for .NET
ELMAH - Error Logging Modules & Handlers for ASP.NET
Sentry - Sentry SDK for .NET
Semantic Logging Application Block (SLAB) - Supporting semantic/structured logging for .NET
opentelemetry-specification - Specifications for OpenTelemetry
Logary - Logs and metrics are one! Professional logging, metrics and analytics for your apps.
ZeroLog - A high-performance, zero-allocation .NET logging library.
serilog-ui - Simple Serilog log viewer UI for several sinks.