Cómo agregar el id del usuario actual a cada entrada de registro en ASP.NET Core
Un middleware con BeginScope no cubre el registro de error del manejador de excepciones ni la línea Request finished. Registra un ILogEnricher que lea el usuario desde IHttpContextAccessor, abre un scope solo cuando el trabajo sale de la solicitud y cuidado con AddSerilog de Serilog, que cancela el enriquecimiento sin avisar.