.net core 如何使用Autofac在框架控制台应用程序中添加ApplicationInsights日志提供程序

.net core 如何使用Autofac在框架控制台应用程序中添加ApplicationInsights日志提供程序,.net-core,autofac,azure-application-insights,.net Core,Autofac,Azure Application Insights,我正在开发一个.NET(完整框架4.7.1)控制台应用程序,它使用AutoFac进行DI 我们正在缓慢地迁移到.NET Core,并已切换到使用Microsoft.Extensions.Logging.Abstracts提供的ILogger抽象 我已使用以下命令在AutoFac中连接ILogger和ILogger Factory private static void RegisterLogging(ContainerBuilder builder) {

我正在开发一个.NET(完整框架4.7.1)控制台应用程序,它使用AutoFac进行DI

我们正在缓慢地迁移到.NET Core,并已切换到使用Microsoft.Extensions.Logging.Abstracts提供的ILogger抽象

我已使用以下命令在AutoFac中连接ILogger和ILogger Factory

        private static void RegisterLogging(ContainerBuilder builder)
        {
            builder.RegisterType<LoggerFactory>().As<ILoggerFactory>().SingleInstance();
            builder.RegisterGeneric(typeof(Logger<>)).As(typeof(ILogger<>)).InstancePerDependency();
        }
private静态无效注册表日志(ContainerBuilder-builder)
{
builder.RegisterType().As().SingleInstance();
RegisterGeneric(typeof(Logger)).As(typeof(ILogger)).InstancePerDependency();
}
这取决于Microsoft.Extensions.Logging—它似乎正在工作

现在我想连接Application Insights Logging provider,但是我能找到的所有文档都只提到如何将其添加到.NET Core DI容器中,并且通过查看各种Repo上的源代码,我对如何操作感到有点迷惑

我想我可以这样做:
builder.RegisterType().As()

但这取决于
IOptions遥测配置选项
IOptions应用程序的ightslogger选项
,我没有这两个选项


有人做过这件事吗,或者对如何完成这件事有什么建议吗?

我是这样做的:

var serviceCollection = new ServiceCollection();
serviceCollection.AddLogging();
serviceCollection.AddApplicationInsightsTelemetryWorkerService();
builder.Populate(serviceCollection);
这不是最好的解决方案,但我想它确实允许我使用ServiceCollection extensions方法的步法,因此如果nobdoy有更好的答案,我可能不得不接受这一点