private static void UpdateAutofacContainer(ContainerBuilder builder, AutofacAspNetServiceCollection serviceImpl) { builder.Populate(serviceImpl.ExposeServices()); builder.RegisterType <AspNetLoggingServiceProvider>().As <ILoggingServiceProvider>().SingleInstance(); builder.RegisterInstance(Options.Create((LoggingOptions)serviceImpl.ExposeLogSettings())); builder.RegisterInstance(serviceImpl.ExposeLoggingConfiguration()); }
private static void RegisterCoreComponents(AutofacAspNetServiceCollection serviceImpl) { serviceImpl.BuildConfiguration(); serviceImpl.ActiveSinkSettings(); serviceImpl.ActiveOriginConfiguration(); serviceImpl.AddDependency(s => s.AddSingleton(provider => new StaticServiceResolveInitialization(provider.GetRequiredService <ILoggingServiceProvider>()))); }
private static void UpdateAutofacContainer(ContainerBuilder builder, AutofacAspNetServiceCollection services) { builder.Populate(services.ExposeServices()); builder.RegisterType <AspNetLoggingServiceProvider>().As <ILoggingServiceProvider>().SingleInstance(); builder.RegisterType <ShortcutPropertyFactoryAccessor>().As <IPropertyFactoryAccessor>().SingleInstance(); builder.RegisterTraceIdGenerator(); builder.RegisterInstance(Options.Create((LoggingOptions)services.ExposeLogSettings())); builder.RegisterInstance(services.ExposeLoggingConfiguration()); }
private static void RegisterCoreComponents(AutofacAspNetServiceCollection services) { services.BuildConfiguration(); services.ActiveSinkSettings(); services.ActiveOriginConfiguration(); services.AddDependency(s => s.AddSingleton(__singletonFactory)); StaticServiceResolveInitialization __singletonFactory(IServiceProvider provider) { return(new StaticServiceResolveInitialization(provider.GetRequiredService <ILoggingServiceProvider>())); } }
private static void RegisterCosmosLoggingCore(HttpApplication application, ContainerBuilder builder, Action <ILogServiceCollection> config = null) { if (application == null) { throw new ArgumentNullException(nameof(application)); } if (builder == null) { throw new ArgumentNullException(nameof(builder)); } var serviceImpl = new AutofacAspNetServiceCollection(); config?.Invoke(serviceImpl); RegisterCoreComponents(serviceImpl); UpdateAutofacContainer(builder, serviceImpl); }
private static void RegisterCosmosLoggingCore(HttpApplication application, ContainerBuilder builder, Action <ILogServiceCollection> config = null) { if (application is null) { throw new ArgumentNullException(nameof(application)); } if (builder is null) { throw new ArgumentNullException(nameof(builder)); } var services = new AutofacAspNetServiceCollection(); config?.Invoke(services); RegisterCoreComponents(services); UpdateAutofacContainer(builder, services); builder.RegisterBuildCallback(c => services.ActiveLogEventEnrichers()); }