|
@@ -2,7 +2,9 @@ package main
|
|
|
|
|
|
|
|
import (
|
|
import (
|
|
|
"context"
|
|
"context"
|
|
|
|
|
+ "fmt"
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
+ "github.com/spf13/viper"
|
|
|
"go.uber.org/zap"
|
|
"go.uber.org/zap"
|
|
|
"go_zh/middleware"
|
|
"go_zh/middleware"
|
|
|
"go_zh/pkg/logger"
|
|
"go_zh/pkg/logger"
|
|
@@ -15,15 +17,23 @@ import (
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
func main() {
|
|
func main() {
|
|
|
|
|
+ // 设置配置文件路径和名称
|
|
|
|
|
+ viper.SetConfigFile("config.json")
|
|
|
|
|
+ viper.SetConfigType("json") // 明确指定JSON格式
|
|
|
|
|
+ err := viper.ReadInConfig() // 搜索并读取配置文件
|
|
|
|
|
+ if err != nil { // 处理错误
|
|
|
|
|
+ panic("初始化配置失败: " + err.Error())
|
|
|
|
|
+ }
|
|
|
|
|
|
|
|
- // 1. 初始化日志系统
|
|
|
|
|
|
|
+ // 初始化日志系统
|
|
|
if err := logger.InitLogger(); err != nil {
|
|
if err := logger.InitLogger(); err != nil {
|
|
|
panic("初始化日志失败: " + err.Error())
|
|
panic("初始化日志失败: " + err.Error())
|
|
|
}
|
|
}
|
|
|
// 确保程序退出前刷新日志缓冲区
|
|
// 确保程序退出前刷新日志缓冲区
|
|
|
defer logger.Sync()
|
|
defer logger.Sync()
|
|
|
|
|
+ // 设置 Gin 模式
|
|
|
|
|
+ gin.SetMode(viper.GetString("app.mode"))
|
|
|
// 初始化Gin引擎
|
|
// 初始化Gin引擎
|
|
|
- //gin.SetMode(gin.ReleaseMode)
|
|
|
|
|
engine := gin.Default()
|
|
engine := gin.Default()
|
|
|
|
|
|
|
|
engine.Use(middleware.GinLoggerMiddleware()) //日志中间件
|
|
engine.Use(middleware.GinLoggerMiddleware()) //日志中间件
|
|
@@ -35,10 +45,10 @@ func main() {
|
|
|
// 启动服务
|
|
// 启动服务
|
|
|
//_ = engine.Run(":8080")
|
|
//_ = engine.Run(":8080")
|
|
|
srv := &http.Server{
|
|
srv := &http.Server{
|
|
|
- Addr: ":8080",
|
|
|
|
|
|
|
+ Addr: fmt.Sprintf(":%d", viper.GetInt("app.port")),
|
|
|
Handler: engine.Handler(),
|
|
Handler: engine.Handler(),
|
|
|
}
|
|
}
|
|
|
- // 10. 优雅启动和关闭
|
|
|
|
|
|
|
+ // 优雅启动和关闭
|
|
|
startServer(srv)
|
|
startServer(srv)
|
|
|
}
|
|
}
|
|
|
|
|
|