63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package xingwei
 | |
| 
 | |
| import (
 | |
| 	"tyapi-server/internal/config"
 | |
| 	"tyapi-server/internal/shared/external_logger"
 | |
| )
 | |
| 
 | |
| // NewXingweiServiceWithConfig 使用配置创建行为数据服务
 | |
| func NewXingweiServiceWithConfig(cfg *config.Config) (*XingweiService, error) {
 | |
| 	// 将配置类型转换为通用外部服务日志配置
 | |
| 	loggingConfig := external_logger.ExternalServiceLoggingConfig{
 | |
| 		Enabled:               cfg.Xingwei.Logging.Enabled,
 | |
| 		LogDir:                cfg.Xingwei.Logging.LogDir,
 | |
| 		ServiceName:           "xingwei",
 | |
| 		UseDaily:              cfg.Xingwei.Logging.UseDaily,
 | |
| 		EnableLevelSeparation: cfg.Xingwei.Logging.EnableLevelSeparation,
 | |
| 		LevelConfigs:          make(map[string]external_logger.ExternalServiceLevelFileConfig),
 | |
| 	}
 | |
| 
 | |
| 	// 转换级别配置
 | |
| 	for key, value := range cfg.Xingwei.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 := NewXingweiService(
 | |
| 		cfg.Xingwei.URL,
 | |
| 		cfg.Xingwei.ApiID,
 | |
| 		cfg.Xingwei.ApiKey,
 | |
| 		logger,
 | |
| 	)
 | |
| 
 | |
| 	return service, nil
 | |
| }
 | |
| 
 | |
| // NewXingweiServiceWithLogging 使用自定义日志配置创建行为数据服务
 | |
| func NewXingweiServiceWithLogging(url, apiID, apiKey string, loggingConfig external_logger.ExternalServiceLoggingConfig) (*XingweiService, error) {
 | |
| 	// 设置服务名称
 | |
| 	loggingConfig.ServiceName = "xingwei"
 | |
| 	
 | |
| 	// 创建通用外部服务日志器
 | |
| 	logger, err := external_logger.NewExternalServiceLogger(loggingConfig)
 | |
| 	if err != nil {
 | |
| 		return nil, err
 | |
| 	}
 | |
| 
 | |
| 	// 创建行为数据服务
 | |
| 	service := NewXingweiService(url, apiID, apiKey, logger)
 | |
| 
 | |
| 	return service, nil
 | |
| }
 |