package main import ( "fmt" "github.com/gogf/gf/v2/frame/g" _ "link_homework/internal/packed" "github.com/gogf/gf/v2/os/gctx" _ "github.com/gogf/gf/contrib/drivers/mysql/v2" _ "github.com/gogf/gf/contrib/nosql/redis/v2" "link_homework/internal/cmd" _ "link_homework/internal/logic" ) func main() { ctx := gctx.GetInitCtx() //启动日志 g.Log().Info(ctx, "服务启动中") //检查数据库链接 // 检查默认数据库链接 db := g.DB() if err := db.PingMaster(); err != nil { g.Log().Fatal(ctx, "默认数据库链接失败,请检查数据库链接配置") return } g.Log().Info(ctx, "默认数据库链接成功") // 检查 CMS 数据库链接 cmsDb := g.DB("cms") if err := cmsDb.PingMaster(); err != nil { g.Log().Fatal(ctx, "CMS 数据库链接失败,请检查数据库链接配置") return } g.Log().Info(ctx, "CMS 数据库链接成功") // 检查 Redis 配置并连接 // 如果配置中存在 Redis 配置,初始化 Redis 客户端 // 打印 Redis 配置,确保它加载正确 redisConfig, err := g.Cfg().Get(ctx, "redis.default") if err != nil { fmt.Println("获取 Redis 配置失败:", err) return } fmt.Printf("Redis 配置:%v\n", redisConfig) // 测试 Redis 连接 _, err = g.Redis().Do(ctx, "PING") if err != nil { g.Log().Fatal(ctx, fmt.Sprintf("Redis 链接失败: %v", err)) return } g.Log().Info(ctx, "Redis 链接成功") //启动主命令逻辑 cmd.Main.Run(ctx) //服务启动完成日志 g.Log().Info(ctx, "服务启动完成") }