Add Structured Logging to your .NET Apps with Serilog

ebeeraheem

View Profile
26 views
Jun 21, 2025

Install the Serilog.AspNetCore package and configure it in your DI container

// Configure Serilog
Log.Logger = new LoggerConfiguration()
    .ReadFrom.Configuration(configuration)
    .Enrich.FromLogContext()
    .CreateLogger();
host.UseSerilog();

Load the configurations from your appsettings.json file as it's the most flexible option

 "Serilog": {
   "MinimumLevel": {
     "Default": "Information",
     "Override": {
       "Microsoft": "Warning",
       "Microsoft.Hosting.Lifetime": "Information"
     }
   },
   "WriteTo": [
     { "Name": "Console" },
     {
       "Name": "File",
       "Args": {
         "path": "Logs\\log.txt",
         "rollingInterval": "Hour",
         "rollOnFileSizeLimit": true,
         "formatter": "Serilog.Formatting.Compact.CompactJsonFormatter, Serilog.Formatting.Compact"
       }
     }
   ]
 }