Compare commits

..

3 Commits

Author SHA1 Message Date
vipg
fcc7f92c18 add 2025-11-11 15:37:49 +08:00
vipg
a0ec97be8d add 2025-11-11 15:29:03 +08:00
vipg
c88cec6038 add 2025-11-11 15:26:11 +08:00
4 changed files with 18 additions and 9 deletions

View File

@@ -35,6 +35,9 @@ services:
DB_PASSWORD: ${DB_PASSWORD}
DB_NAME: ${DB_NAME}
TZ: ${TZ}
volumes:
# 挂载添加日志目录挂载,将容器内日志日志目录映射到宿主机的 ./logs 目录
- ./logs:/app/logs # 假设代码中日志存储路径为 /app/logs
networks:
user-network:
driver: bridge

View File

@@ -4,6 +4,7 @@ import (
"database/sql"
"fmt"
"os"
"time"
_ "github.com/lib/pq"
"go.uber.org/zap"
@@ -21,10 +22,10 @@ func Init() {
dbName := os.Getenv("DB_NAME")
zap.L().Info(
"💡 读取数据库配置",
zap.String("host", dbHost), // key: "host", value: dbHoststring类型
zap.String("port", dbPort), // key: "port", value: dbPortstring类型
zap.String("user", dbUser), // key: "user", value: dbUserstring类型
zap.String("dbname", dbName), // key: "dbname", value: dbNamestring类型
zap.String("host", dbHost),
zap.String("port", dbPort),
zap.String("user", dbUser),
zap.String("dbname", dbName),
)
// 构建数据库连接字符串
@@ -38,12 +39,16 @@ func Init() {
if err != nil {
zap.L().Panic("❌ 无法连接数据库", zap.Error(err))
}
defer DB.Close()
zap.L().Info("✅ 数据库连接对象创建成功")
// 设置连接池参数
DB.SetMaxOpenConns(100) // 最大打开连接数
DB.SetMaxIdleConns(20) // 最大空闲连接数
DB.SetConnMaxLifetime(time.Hour) // 连接最大存活时间
// 验证数据库连接
if err := DB.Ping(); err != nil {
zap.L().Panic("❌ 数据库连接失败", zap.Error(err))
}
zap.L().Info("✅ 数据库连接验证成功")
}

View File

@@ -25,7 +25,7 @@ func Init() {
// 日志轮转配置lumberjack
hook := lumberjack.Logger{
Filename: viper.GetString("logger.path") + "app.log", // 日志文件路径
Filename: viper.GetString("logger.path") + "logs/app.log", // 日志文件路径
MaxSize: viper.GetInt("logger.max_size"), // 单个文件最大大小MB
MaxBackups: viper.GetInt("logger.max_backup"), // 最大备份数
MaxAge: viper.GetInt("logger.max_age"), // 最大保留天数

View File

@@ -15,6 +15,7 @@ func main() {
zap.L().Info("🚀 用户服务初始化")
zap.L().Info("⌛️ 数据库初始化开始")
db.Init()
defer db.DB.Close() // 应用退出时关闭连接
zap.L().Info("✅ 数据库初始化成功")
gin.SetMode(gin.ReleaseMode)