Как динамически изменить минимальный уровень журнала Serilog для арендатора в многопользовательском приложении Asp.Net Core

В нашем приложении asp.net 6 мы записываем журналы файлов для каждого арендатора (клиента) в отдельную папку, используя приемник файлов Serilog. Мы получаем TenantId из URL-адреса запроса и обогащаем свойство в Serilog, чтобы сгенерировать путь к папке с tenantId.

В appsettings.json минимальный уровень — Ошибка, но хотелось бы временно переключить Serilog на уровень отладки для данного арендатора в рабочей среде.

Помня о производительности, как мы можем сделать этот переключатель для данного арендатора/запроса, предполагая, что требуемый минимальный уровень может быть прочитан из контекста, такого как HttpContext или аналогичный.

В настоящее время минимальный уровень журнала может быть установлен только для всего приложения, и нет возможности переопределить его для конкретного конвейера выполнения (веб-запрос или обработчик сообщений очереди).

0 ответов

Другие вопросы по тегам