package cmd import ( "github.com/gin-gonic/gin" "github.com/runningwater/gohub/bootstrap" "github.com/runningwater/gohub/pkg/config" "github.com/runningwater/gohub/pkg/console" "github.com/runningwater/gohub/pkg/logger" "github.com/spf13/cobra" ) var CmdServe = &cobra.Command{ Use: "serve", Short: "Start web server", Long: "Start the server - Gin server", Run: runWeb, Args: cobra.NoArgs, } func runWeb(cmd *cobra.Command, args []string) { // 设置 gin 的运行模式, 支持 debug, release, test // release 模式会屏蔽调试信息,官方建议生产环境中使用 // 非 release 模式 gin 终端打印太多信息,干扰到我们程序中的 Log // 故此设置为 release 模式 gin.SetMode(gin.ReleaseMode) // gin 框架初始化 router := gin.New() // 初始化路由绑定 bootstrap.SetupRoute(router) // 运行服务 err := router.Run(":" + config.Get("app.port")) if err != nil { logger.ErrorString("CMD", "serve", err.Error()) console.Exit("Unable to start server, error:" + err.Error()) } }