Это работает для меня, когда я делаю следующее (не как промежуточное программное обеспечение):
using (LogContext.PushProperty("CorrelationId", "This is a test..."))
{
Log.Write(level, exception, messageTemplate, propertyValues);
}
Так что я подозреваю, что ваша CorrelationId
перезаписывается ASP.NET Core MVC, как указано здесь: https://github.com/serilog/serilog-aspnetcore/issues/59
Некоторые сведения об этой проблеме и их планы по ее решению в 3.0
также приведены здесь: https://github.com/aspnet/AspNetCore/issues/5918
Извиняюсь, что это не «исправление», однако яимел ту же проблему и смог обойти ее, добавив уровень косвенности между вызовом журнала (в моем коде) и вызовом Log.Write (как показано выше).