Files
hyapi-server/internal/infrastructure/external/alicloud/alicloud_factory.go
2026-04-21 22:36:48 +08:00

49 lines
1.1 KiB
Go

package alicloud
import (
"hyapi-server/internal/config"
"hyapi-server/internal/shared/external_logger"
)
// NewAlicloudServiceWithConfig 使用配置创建阿里云服务,并启用外部服务调用日志
func NewAlicloudServiceWithConfig(cfg *config.Config) (*AlicloudService, error) {
loggingConfig := external_logger.ExternalServiceLoggingConfig{
Enabled: true,
LogDir: "./logs/external_services",
ServiceName: "alicloud",
UseDaily: false,
EnableLevelSeparation: true,
LevelConfigs: map[string]external_logger.ExternalServiceLevelFileConfig{
"info": {
MaxSize: 100,
MaxBackups: 3,
MaxAge: 28,
Compress: true,
},
"error": {
MaxSize: 100,
MaxBackups: 3,
MaxAge: 28,
Compress: true,
},
"warn": {
MaxSize: 100,
MaxBackups: 3,
MaxAge: 28,
Compress: true,
},
},
}
logger, err := external_logger.NewExternalServiceLogger(loggingConfig)
if err != nil {
return nil, err
}
return NewAlicloudService(
cfg.Alicloud.Host,
cfg.Alicloud.AppCode,
logger,
), nil
}