#c# #asp.net
#c# #asp.net
Вопрос:
В asp.net ядро можно зарегистрировать разных поставщиков ведения журнала:
services.AddLogging(builder => builder
.AddConsole()
.AddDebug();
Затем настройте внутри appsettings.json:
{
"Logging": {
"IncludeScopes": false,
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
}
}
Но как мне настроить уровень журнала для пользовательского поставщика ведения журнала:
builder.Services.AddSingleton<ILoggerProvider,MyLoggerProvider>
Что следует добавить в appsettings.json и что следует сделать в коде? Я предполагаю что-то вроде:
{
"Logging": {
"IncludeScopes": false,
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
"?":{
"LogLevel": {
"Default": "Debug"
}
}
}
}
Но что входит в «?», если это действительно правильный подход?
Ответ №1:
Вы можете использовать атрибут ProviderAlias в своем классе CustomLoggerProvider и добавить этот псевдоним в файл appsettings.json.
[ProviderAlias("MyLogger")]
public class MyLoggerProvider
"MyLogger":{
"LogLevel": {
"Default": "Debug"
}
}
Комментарии:
1. Спасибо, выглядит неплохо. У меня не было возможности опробовать это, но я сделаю это, когда у меня будет время.