Я работаю над консольным приложением. NET (полная структура 4.7.1), которое использует AutoFa c для целей DI.
Мы медленно переходим на. NET Core и перешли на использование абстракций ILogger, предоставляемых Microsoft.Extensions.Logging.Abstractions.
Я подключил ILogger <> и ILoggerFactory в AutoFa c, используя следующие
private static void RegisterLogging(ContainerBuilder builder)
{
builder.RegisterType<LoggerFactory>().As<ILoggerFactory>().SingleInstance();
builder.RegisterGeneric(typeof(Logger<>)).As(typeof(ILogger<>)).InstancePerDependency();
}
Это зависит от Microsoft.Extensions.Logging - и, похоже, он работает.
Теперь я хочу подключить провайдер ведения журнала Application Insights, однако во всей документации, которую я могу найти, только упоминается, как добавить его в контейнер. NET Core DI и просматривая исходный код в различных репозиториях, я немного озадачен тем, как это сделать.
Я подумал, что смогу сделать это следующим образом: builder.RegisterType<ApplicationInsightsLoggerProvider>().As<ILoggerProvider>();
Но это зависит от IOptions<TelemetryConfiguration> telemetryConfigurationOptions
и IOptions<ApplicationInsightsLoggerOptions> applicationInsightsLoggerOptions
ни того, ни другого у меня нет.
Кто-нибудь сделал это или есть предложения, как sh это сделать?