I have seen the same setup at more companies than I can count: every service writing logs to stdout, a few rotating files scattered across VMs, maybe one service sending to Application Insights, and nobody quite sure where the logs from the background jobs go.
It works fine until something breaks in production. Then you have an error, four services, and zero way to trace a single request across any of them.
That is the problem log aggregation solves. This article covers what it actually means in a .NET 8 stack, how to set it up with Serilog, and how to pick the right aggregator for where your team is right now.
What log aggregation actually means
The idea is simple: every service in your system writes structured log events to a central store, and you query that store instead of grepping files.








