Как динамически изменить минимальный уровень журнала Serilog для арендатора в многопользовательском приложении Asp.Net Core
В нашем приложении asp.net 6 мы записываем журналы файлов для каждого арендатора (клиента) в отдельную папку, используя приемник файлов Serilog. Мы получаем TenantId из URL-адреса запроса и обогащаем свойство в Serilog, чтобы сгенерировать путь к папке с tenantId.
В appsettings.json минимальный уровень — Ошибка, но хотелось бы временно переключить Serilog на уровень отладки для данного арендатора в рабочей среде.
Помня о производительности, как мы можем сделать этот переключатель для данного арендатора/запроса, предполагая, что требуемый минимальный уровень может быть прочитан из контекста, такого как HttpContext или аналогичный.
В настоящее время минимальный уровень журнала может быть установлен только для всего приложения, и нет возможности переопределить его для конкретного конвейера выполнения (веб-запрос или обработчик сообщений очереди).