Polly VS Serilog

Compare Polly vs Serilog and see what are their differences.

Polly

Polly is a .NET resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner. From version 6.0.1, Polly targets .NET Standard 1.1 and 2.0+. (by App-vNext)

Serilog

Simple .NET logging with fully-structured events (by serilog)
Our great sponsors
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • WorkOS - The modern identity platform for B2B SaaS
  • SaaSHub - Software Alternatives and Reviews
Polly Serilog
52 54
12,900 6,895
1.4% 1.6%
9.8 7.0
2 days ago 4 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.

Polly

Posts with mentions or reviews of Polly. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-07-11.

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 2023-12-03.
  • Microsoft Entity Framework Core 8 samples
    3 projects | dev.to | 3 Dec 2023
    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.
  • Using toast notifications in Windows Forms
    2 projects | dev.to | 20 Jun 2023
    Captured in public static void OnActivated() and note Log is SeriLog.
  • How to set up Serilog "Enrichers"?
    2 projects | /r/dotnet | 12 Jun 2023
    "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?
    2 projects | /r/dotnet | 5 Jun 2023
  • How can I fix logger maximum destructuring reached error when using Serilog C#?
    2 projects | /r/csharp | 11 May 2023
    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
    2 projects | /r/dotnet | 5 May 2023
    Serilog, it has sinks for pretty much everything so you can easily swap down the line. https://github.com/serilog/serilog/wiki/Provided-Sinks
    2 projects | /r/dotnet | 5 May 2023
  • A command line tool that converts GraphQL schemas to Karate API tests
    4 projects | /r/csharp | 29 Apr 2023
    Serilog for logging
  • Serilog in ASP.NET Core 7.0 – Structured Logging using Serilog in ASP.NET Core 7.0
    4 projects | /r/dotnet | 6 Mar 2023
    ILogger is just an abstraction and it doesn't provide many implementations besides .NET Core's built-in console logging. Serilog with its many sinks is layed on top of ILogger (which is what it was created for) and you can configure all types of logging.
    4 projects | /r/dotnet | 6 Mar 2023
    You have to do the same thing in Serilog if you want to enrich https://github.com/serilog/serilog/wiki/Enrichment

What are some alternatives?

When comparing Polly and Serilog you can also consider the following projects:

NLog - NLog - Advanced and Structured Logging for Various .NET Platforms

Log4Net - Apache Log4net is a versatile, feature-rich, efficient logging API and backend for .NET

ELMAH - Error Logging Modules & Handlers for ASP.NET

MediatR - Simple, unambitious mediator implementation in .NET

Hangfire - An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required

Sentry - Sentry SDK for .NET

opentelemetry-specification - Specifications for OpenTelemetry

FluentValidation - A popular .NET validation library for building strongly-typed validation rules.

Redis - Redis is an in-memory database that persists on disk. The data model is key-value, but many different kind of values are supported: Strings, Lists, Sets, Sorted Sets, Hashes, Streams, HyperLogLogs, Bitmaps.

Refit - The automatic type-safe REST library for .NET Core, Xamarin and .NET. Heavily inspired by Square's Retrofit library, Refit turns your REST API into a live interface.

Semantic Logging Application Block (SLAB) - Supporting semantic/structured logging for .NET

Flurl.Http - Fluent URL builder and testable HTTP client for .NET