Using Serilog with ILogger in CSharp
Serilog is a powerful logging library for .NET applications. It supports structured logging and integrates easily with ILogger from Microsoft.Extensions.Logging. Installation Install the necessary NuGet packages: dotnet add package Serilog.AspNetCore dotnet add package Serilog.Sinks.Console Basic Setup in Program.cs (.NET 8+) using Microsoft.Extensions.Hosting; using Serilog; Log.Logger = new LoggerConfiguration() .WriteTo.Console() .CreateLogger(); var builder = WebApplication.CreateBuilder(args); // Replace default logging with Serilog builder.Host.UseSerilog(); // --- Some code here app.Run(); Using ILogger in a Controller or Service using Microsoft.Extensions.Logging; public class MyService { private readonly ILogger<MyService> _logger; public MyService(ILogger<MyService> logger) { _logger = logger; } public void DoWork() { _logger.LogInformation("Doing work at {Time}", DateTime.UtcNow); try { // some code } catch (Exception ex) { _logger.LogError(ex, "An error occurred while doing work"); } } } Benefits Structured logging with properties Multiple sinks (e.g., console, file, Seq) Easy integration with ASP.NET Core Resources Serilog Documentation GitHub Repo