Методы фабрики регистраторов устарели в пользу более нового компоновщика логирования, который полностью облегчает создание контейнера зависимости.Однако создать расширение компоновщика логгера для вашего собственного провайдера логгера нетрудно.
Вам просто нужно добавить ILoggerProvider
в коллекцию сервисов:
public static ILoggingBuilder AddConsole(this ILoggingBuilder builder)
{
builder.Services.AddSingleton<ILoggerProvider, CustomLoggerProvider>();
return builder;
}
Вместо того, чтобы разрешить вашего провайдерас помощью внедрения зависимости вы также можете зарегистрировать экземпляр напрямую.Существует также встроенный метод расширения AddProvider
, который делает именно это.Таким образом, вы также можете использовать это:
public static ILoggingBuilder AddConsole(this ILoggingBuilder builder)
{
builder.AddProvider(new CustomLoggerProvider>());
return builder;
}
Это должно сделать использование очень похожим на использование ILoggerFactory
.