コード例 #1
0
        private static void RegisterCoreComponents(this ZkWebLogServiceCollection loggingServices, Action <ILogServiceCollection> serviceConfigure)
        {
            using (loggingServices) {
                serviceConfigure?.Invoke(loggingServices);

                loggingServices.BuildConfiguration();
                loggingServices.ActiveSinkSettings();
                loggingServices.ActiveOriginConfiguration();
            }
        }
コード例 #2
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);
        }
コード例 #3
0
        /// <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);
        }