package westdex import ( "tyapi-server/internal/config" "tyapi-server/internal/shared/external_logger" ) // NewWestDexServiceWithConfig 使用配置创建西部数据服务 func NewWestDexServiceWithConfig(cfg *config.Config) (*WestDexService, error) { // 将配置类型转换为通用外部服务日志配置 loggingConfig := external_logger.ExternalServiceLoggingConfig{ Enabled: cfg.WestDex.Logging.Enabled, LogDir: cfg.WestDex.Logging.LogDir, ServiceName: "westdex", UseDaily: cfg.WestDex.Logging.UseDaily, EnableLevelSeparation: cfg.WestDex.Logging.EnableLevelSeparation, LevelConfigs: make(map[string]external_logger.ExternalServiceLevelFileConfig), } // 转换级别配置 for key, value := range cfg.WestDex.Logging.LevelConfigs { loggingConfig.LevelConfigs[key] = external_logger.ExternalServiceLevelFileConfig{ MaxSize: value.MaxSize, MaxBackups: value.MaxBackups, MaxAge: value.MaxAge, Compress: value.Compress, } } // 创建通用外部服务日志器 logger, err := external_logger.NewExternalServiceLogger(loggingConfig) if err != nil { return nil, err } // 创建西部数据服务 service := NewWestDexService( cfg.WestDex.URL, cfg.WestDex.Key, cfg.WestDex.SecretID, cfg.WestDex.SecretSecondID, logger, ) return service, nil } // NewWestDexServiceWithLogging 使用自定义日志配置创建西部数据服务 func NewWestDexServiceWithLogging(url, key, secretID, secretSecondID string, loggingConfig external_logger.ExternalServiceLoggingConfig) (*WestDexService, error) { // 设置服务名称 loggingConfig.ServiceName = "westdex" // 创建通用外部服务日志器 logger, err := external_logger.NewExternalServiceLogger(loggingConfig) if err != nil { return nil, err } // 创建西部数据服务 service := NewWestDexService(url, key, secretID, secretSecondID, logger) return service, nil }