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")
|
}
|