Коллекция свойств LogContext
Как я могу получить набор свойств текущего LogContext в пользовательском ПО промежуточного слоя ASP.NET Core? Я нажимаю свойство в промежуточном программном обеспечении следующим образом:
var profile = context.Request.Host.Host;
using (LogContext.PushProperty("TestProp", "MyCustomProp"))
using (LogContext.PushProperty("Profile", profile))
{
await _next(context);
}
Затем я хочу получить всю коллекцию свойств, как я могу это сделать?
1 ответ
Интерфейс намеренно разработан таким образом, чтобы не отображать такую информацию — информация предназначена исключительно для использованияEnrich.FromLogContext
и подлежит изменению. Вы можете прочитать импл .
Таким образом, вам нужно будет управлять этим извне.
Одна вещь, которая поддерживается обычной практикой, - это использовать{Properties}
в вашем шаблоне сообщения, чтобы отобразить все свойства, которые вы добавили через:
.Enrich.FromLogContext()
.WriteTo.Console("[{Timestamp:HH:mm:ss} {Level:u3}] {Message:lj} {Properties} {NewLine}{Exception})