Files
logs/internal/impl/impl.go
2026-09-09 16:45:01 +08:00

40 lines
869 B
Go

package impl
import (
"errors"
"git.apinb.com/bsm-sdk/core/cache/redis"
"git.apinb.com/bsm-sdk/core/logger"
"git.apinb.com/ops/logs/internal/config"
"gorm.io/gorm"
)
var (
RedisService *redis.RedisClient
DBService *gorm.DB
)
func NewImpl() {
RedisService = newRedisCache(config.Spec.Cache)
DBService = newDatabase(config.Spec.Databases)
logger.New(nil)
}
// Close 关闭数据库和 Redis 连接。
func Close() error {
var closeErrors []error
if DBService != nil {
if sqlDB, err := DBService.DB(); err != nil {
closeErrors = append(closeErrors, err)
} else if err := sqlDB.Close(); err != nil {
closeErrors = append(closeErrors, err)
}
}
if RedisService != nil && RedisService.Client != nil {
if err := RedisService.Client.Close(); err != nil {
closeErrors = append(closeErrors, err)
}
}
return errors.Join(closeErrors...)
}