package main import ( "flag" "strconv" "webserver/cache" "webserver/extend/config" "webserver/extend/sys" "webserver/router" "basic.com/dbapi.git" "basic.com/valib/logger.git" "github.com/spf13/viper" ) var envirment = flag.String("e", "pro", "") var dbIp = flag.String("dbIp", "127.0.0.1", "default dbIp=127.0.0.1") var dbPort = flag.String("dbPort", "8001", "default dbPort=8001") var surveyPort = flag.Int("surveyPort", 40007, "survey port") //心跳 var pubPort = flag.Int("pubPort", 50007, "pubsub port") //数据更新 var initchan = make(chan bool) func init() { flag.Parse() p, err := strconv.Atoi(*dbPort) if err != nil { p = 8001 } dbapi.Init(*dbIp, p) config.Init(*envirment) var logFile = "./logger/" if viper.GetString("LogBasePath") != "" { logFile = viper.GetString("LogBasePath") } logFile = logFile + "/webserver.log" var logSaveDays = 15 // 日志初始化 if viper.IsSet("LogLevel") && viper.GetInt("LogLevel") >= logger.PanicLevel && viper.GetInt("LogLevel") <= logger.DebugLevel { logger.Config(logFile, viper.GetInt("LogLevel")) } else { logger.Config(logFile, logger.DebugLevel) } logger.SetSaveDays(logSaveDays) logger.Info("loginit success !") } // @title Swagger API // @version 2.0 // @description analysis webserver // @securityDefinitions.apikey ApiKeyAuth // @in header // @name Authorization // @BasePath / func main() { flag.Parse() go cache.Init(initchan, *dbIp, *surveyPort, *pubPort) logger.Debug("heartBeat with db done!", <-initchan) // 统计系统运行状态 go sys.GatherStat() r := router.NewRouter() r.Run("0.0.0.0:8000") }