zhangzengfei
2024-09-26 88b1f1d1d14a8fe9e3dde2f363a89d821fc0e641
config/config.go
@@ -1,54 +1,26 @@
package config
import (
   "fmt"
   "basic.com/valib/logger.git"
   "github.com/fsnotify/fsnotify"
   "github.com/spf13/viper"
   "log"
)
type server struct {
   AnalyServerId  string `mapstructure:"analyServerId"`
   NetworkAdapter string `mapstructure:"networkAdapter"`
}
var Server = &server{}
type esinfo struct {
   EsIndex esindexlist `mapstructure:"index"`
}
type esindexlist struct {
   AiOcean index `mapstructure:"aiOcean"`
}
type index struct {
   IndexName string `mapstructure:"index"`
   IndexType string `mapstructure:"type"`
}
type dbpersoncompare struct {
type mainConfig struct {
   ServePort   int    `mapstructure:"servePort"`
   WorkerNum   int    `mapstructure:"workerNum"`
   MysqlAddr   string `mapstructure:"mysqlAddr"`
   Username    string `mapstructure:"username"`
   Password    string `mapstructure:"password"`
   Database    string `mapstructure:"database"`
   PersonTable string `mapstructure:"personTable"`
   ServePort   int    `mapstructure:"servePort"`
}
type espersoncompare struct {
   ServePort int    `mapstructure:"servePort"`
   ESIP      string `mapstructure:"esip"`
   ESPort    string `mapstructure:"esPort"`
}
var MainConf = &mainConfig{}
var DbPersonCompInfo = &dbpersoncompare{}
var EsCompServerInfo = &espersoncompare{}
var EsInfo = &esinfo{}
type LogConfig struct {
type logConfig struct {
   Path       string `mapstructure:"path"`       //日志存储路径
   Level      int    `mapstructure:"level"`      //日志等级
   MaxSize    int    `mapstructure:"maxSize"`    //日志文件大小上限
@@ -56,31 +28,38 @@
   MaxAge     int    `mapstructure:"maxAge"`     //保留压缩包天数
}
var LogConf = &LogConfig{}
var LogConf = &logConfig{}
func Init(env string) {
func Init() error {
   var err error
   v := viper.New()
   v.SetConfigType("yaml")
   v.SetConfigName(env)
   v.SetConfigName("compare")
   v.AddConfigPath("./")
   v.AddConfigPath("./config/")
   v.AddConfigPath("../config/")
   err = v.ReadInConfig()
   if err != nil {
      log.Fatal("error on parsing configuration file")
      fmt.Printf("error on parsing configuration file, %s, config file compare.yaml\n", err.Error())
      return err
   }
   read2Conf(v)
   v.WatchConfig()
   v.OnConfigChange(func(in fsnotify.Event) {
      read2Conf(v)
   })
   return nil
}
func read2Conf(v *viper.Viper) {
   v.UnmarshalKey("es", EsInfo)
   v.UnmarshalKey("server", Server)
   v.UnmarshalKey("dbpersoncompare", DbPersonCompInfo)
   v.UnmarshalKey("espersoncompare", EsCompServerInfo)
   v.UnmarshalKey("main", MainConf)
   v.UnmarshalKey("log", LogConf)
   logger.SetLevel(LogConf.Level)
   if MainConf.WorkerNum == 0 {
      MainConf.WorkerNum = 30
   }
}