/// <summary> /// 是否启用日志输出级别 /// </summary> /// <param name="level">日志输出</param> /// <returns>日志输出级别</returns> private static bool IsLevelEnabled(LogLevel level) { if (_outLogLevel == null) { OSkyConfig config = OSkyConfig.Instance; _outLogLevel = config.LoggingConfig.DataLoggingConfig.OutLevel; } return(level >= _outLogLevel); }
/// <summary> /// 开始执行框架初始化 /// </summary> /// <param name="services">服务映射集合</param> /// <param name="iocBuilder">依赖注入构建器</param> public void Initialize(IServiceCollection services, IIocBuilder iocBuilder) { services.CheckNotNull("services"); iocBuilder.CheckNotNull("iocBuilder"); OSkyConfig config = OSkyConfig.Instance; //使用副本进行初始化,防止不同平台间的相互污染 IServiceCollection newServices = services.Clone(); IServiceProvider provider = iocBuilder.Build(newServices); IBasicLoggingInitializer loggingInitializer = provider.GetService <IBasicLoggingInitializer>(); if (!_basicLoggingInitialized && loggingInitializer != null) { loggingInitializer.Initialize(config.LoggingConfig); _basicLoggingInitialized = true; } IDatabaseInitializer databaseInitializer = provider.GetService <IDatabaseInitializer>(); if (!_databaseInitialized) { if (databaseInitializer == null) { throw new InvalidOperationException(Resources.FrameworkInitializerBase_DatabaseInitializeIsNull); } databaseInitializer.Initialize(config.DataConfig); _databaseInitialized = true; } if (!_entityInfoInitialized) { IEntityInfoHandler entityInfoHandler = provider.GetService <IEntityInfoHandler>(); if (entityInfoHandler == null) { throw new InvalidOperationException(Resources.FrameworkInitializerBase_EntityInfoHandlerIsNull); } entityInfoHandler.Initialize(); _entityInfoInitialized = true; } IFunctionHandler functionHandler = provider.GetService <IFunctionHandler>(); if (functionHandler == null) { throw new InvalidOperationException(Resources.FrameworkInitializerBase_FunctionHandlerIsNull); } functionHandler.Initialize(); }