Backend Notes 6: Structured Logging with Serilog in ASP.NET Core
Message templates instead of interpolated strings, one request event enriched with user and tenant, levels that mean something, sinks from console JSON to a SQL error table, trace ids shared with OpenTelemetry, and keeping
