Я пытаюсь реализовать пользовательскую реализацию ILogger для моего рабочего проекта.Все работает просто отлично, кроме части пользовательских настроек.В документации Net Core говорится, что вы можете добавить различные настройки для определенных провайдеров
{
"Logging": {
"LogLevel": {
"Default": "Debug"
},
"Console": //this is it
{
"IncludeScopes": true
}
}
}
В документации есть некоторые псевдонимы (для консолей, отладчиков, регистраторов Azure и т. Д.), Но я не знаю, как мне указать своиКастом провайдер в настройках.Я пытался использовать его полностью определенное имя (Full.Namespace.ClassName
), это короткое имя, это имя без «Logger» в конце, но это не помогло.
Итак, вопрос:
Как заставить реализацию по умолчанию в ядре asp net core ILogger фактически использовать пользовательские настройки для моего настраиваемого провайдера?
Редактировать 1.
Собственно, я разобрался с этимсам.Вам необходимо указать полностью определенное имя пользователя ILoggerProvider
(с полным пространством имен и именем класса), а не имя пользователя ILogger
.Тогда стандартная структура ведения журнала будет использовать пользовательские настройки для всех средств ведения журнала, порожденных этой реализацией ILoggerProvider