private static IServiceCollection RegisterToAspNetCore(IServiceCollection services, IConfigurationRoot root, Action <ILogServiceCollection> config = null)
        {
            var servicesImpl = new AspNetCoreLogServiceCollection(services, root);

            config?.Invoke(servicesImpl);

            services.TryAdd(ServiceDescriptor.Scoped <IHttpContextAccessor, HttpContextAccessor>());
            services.TryAdd(ServiceDescriptor.Singleton <ILoggingServiceProvider, AspNetCoreLoggingServiceProvider>());
            services.TryAdd(ServiceDescriptor.Singleton(typeof(ILogger <>), typeof(AspNetCoreLoggerWrapper <>)));

            servicesImpl.BuildConfiguration();
            servicesImpl.ActiveSinkSettings();
            servicesImpl.ActiveOriginConfiguration();

            services.TryAdd(ServiceDescriptor.Singleton(Options.Options.Create((LoggingOptions)servicesImpl.ExposeLogSettings())));
            services.TryAdd(ServiceDescriptor.Singleton(servicesImpl.ExposeLoggingConfiguration()));
            services.TryAdd(ServiceDescriptor.Singleton <ILoggerFactory>(provider => new AspNetCoreLoggerFactory(provider.GetService <ILoggingServiceProvider>())));

            if (StaticServiceResolveInitialization.UsingSecInitializingActivation)
            {
                services.TryAdd(ServiceDescriptor.Singleton <ISecInitializingActivation>(provider => {
                    var initializingActivationImpl = new AspNetCoreSecInitializingActivation();
                    initializingActivationImpl.AppendAction(() => StaticServiceResolver.SetResolver(provider.GetRequiredService <ILoggingServiceProvider>()));
                    return(initializingActivationImpl);
                }));
            }
            else
            {
                services.TryAdd(ServiceDescriptor.Singleton(provider => new StaticServiceResolveInitialization(provider.GetRequiredService <ILoggingServiceProvider>())));
            }


            return(services);
        }
        internal static void AllDone(ILogServiceCollection services)
        {
            if (services is ConsoleLogServiceCollection loggingServices)
            {
                using (loggingServices) {
                    loggingServices.ActiveConsolePreferencesRenderers();

                    loggingServices.RegisterCoreComponents();

                    loggingServices.BuildAndActiveConfiguration();

                    loggingServices.AddTraceIdGenerator();
                }

                ServiceResolver = loggingServices.OriginalServices.ToServiceContext().Build();

                loggingServices.ActiveLogEventEnrichers();

                StaticServiceResolver.SetResolver(ServiceResolver.ResolveRequired <ILoggingServiceProvider>());
            }
            else
            {
                throw new ArgumentException(nameof(services));
            }
        }
 public StaticServiceResolveInitialization(ILoggingServiceProvider loggingServiceProvider)
 {
     if (loggingServiceProvider == null)
     {
         throw new ArgumentNullException(nameof(loggingServiceProvider));
     }
     StaticServiceResolver.SetResolver(loggingServiceProvider);
 }
Пример #4
0
 private static void RegisterPostBuiltAction(this AutofacServiceCollection services)
 {
     services.AddPostRegisterAction("AfterBuild", builder =>
                                    builder.RegisterBuildCallback(container => {
         services.ActiveLogEventEnrichers();
         StaticServiceResolver.SetResolver(container.Resolve <ILoggingServiceProvider>());
     }));
 }
 private static void RegisterCallback(this StandardLogServiceCollection services)
 {
     services.AddDependency(s => s.AddSingleton <StandardSecInitializingCallback, IServiceProvider>(provider => {
         var callback = new StandardSecInitializingCallback();
         callback.AppendAction(services.ActiveLogEventEnrichers);
         callback.AppendAction(() => StaticServiceResolver.SetResolver(provider.GetService <ILoggingServiceProvider>()));
         return(callback);
     }));
 }
 public StaticServiceResolveInitialization(ILoggingServiceProvider loggingServiceProvider, Action additionalAction = null)
 {
     if (loggingServiceProvider is null)
     {
         throw new ArgumentNullException(nameof(loggingServiceProvider));
     }
     StaticServiceResolver.SetResolver(loggingServiceProvider);
     additionalAction?.Invoke();
 }
Пример #7
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ExpenseMgrContext context)
        {
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseCors("*");
            app.UseMvc();
            StaticServiceResolver.Register(app.ApplicationServices);
            context.Database.Migrate();
        }
 internal static void AllDone(ILogServiceCollection services)
 {
     if (services is ConsoleLogServiceCollection servicesImpl)
     {
         servicesImpl.BuildConfiguration();
         servicesImpl.ActiveSinkSettings();
         servicesImpl.ActiveOriginConfiguration();
         servicesImpl.AddDependency(s => s.TryAdd(ServiceDescriptor.Singleton(Options.Create((LoggingOptions)servicesImpl.ExposeLogSettings()))));
         servicesImpl.AddDependency(s => s.TryAdd(ServiceDescriptor.Singleton(servicesImpl.ExposeLoggingConfiguration())));
         ServiceResolver = servicesImpl.ExposeServices().ToServiceContainer().Build();
         StaticServiceResolver.SetResolver(ServiceResolver.ResolveRequired <ILoggingServiceProvider>());
     }
     else
     {
         throw new ArgumentException(nameof(services));
     }
 }
Пример #9
0
        public static IContainer RegisterCosmosLogging(this IContainer ioc, Action <ILogServiceCollection> config)
        {
            var serviceImpl = new ZkWebLogServiceCollection();

            config?.Invoke(serviceImpl);

            ioc.Register <ILoggingServiceProvider, ZKWebLoggingServiceProvider>(ReuseType.Singleton);

            serviceImpl.BuildConfiguration();
            serviceImpl.ActiveSinkSettings();
            serviceImpl.ActiveOriginConfiguration();

            ioc.RegisterFromServiceCollection(serviceImpl.ExposeServices());
            ioc.RegisterInstance(Options.Create((LoggingOptions)serviceImpl.ExposeLogSettings()), ReuseType.Singleton);
            ioc.RegisterInstance(serviceImpl.ExposeLoggingConfiguration(), ReuseType.Singleton);

            StaticServiceResolver.SetResolver(ioc.Resolve <ILoggingServiceProvider>());

            return(ioc);
        }
        /// <summary>
        /// Register Cosmos Logging to ZKWeb IOC
        /// </summary>
        /// <param name="ioc"></param>
        /// <param name="serviceConfigure"></param>
        /// <returns></returns>
        public static IContainer RegisterCosmosLogging(this IContainer ioc, Action <ILogServiceCollection> serviceConfigure)
        {
            var loggingServices = new ZkWebLogServiceCollection();

            loggingServices.RegisterCoreComponents(serviceConfigure);

            ioc.Register <ILoggingServiceProvider, ZKWebLoggingServiceProvider>(ReuseType.Singleton);
            ioc.Register <IPropertyFactoryAccessor, ShortcutPropertyFactoryAccessor>();

            ioc.RegisterFromServiceCollection(loggingServices.OriginalServices);
            ioc.RegisterTraceIdGenerator();
            ioc.RegisterInstance(Options.Create((LoggingOptions)loggingServices.ExposeLogSettings()), ReuseType.Singleton);
            ioc.RegisterInstance(loggingServices.ExposeLoggingConfiguration(), ReuseType.Singleton);

            StaticServiceResolver.SetResolver(ioc.Resolve <ILoggingServiceProvider>());

            loggingServices.ActiveLogEventEnrichers();

            return(ioc);
        }
Пример #11
0
 private static void UpdateStaticProvider()
 {
     StaticServiceResolver.SetResolver(NancyContainerSolo.ServiceProvider.GetRequiredService <ILoggingServiceProvider>());
 }
Пример #12
0
 private static void UpdateStaticProvider(ILifetimeScope container)
 {
     StaticServiceResolver.SetResolver(container.Resolve <ILoggingServiceProvider>());
 }