|
|
- package config
-
- import (
- "LAPP_AS/utils"
- "fmt"
- "github.com/spf13/viper"
- )
-
- var AppConfig Config
-
- type Config struct {
- *DB `mapstructure:"db"`
- *Mongo `mapstructure:"mongo"`
- *App `mapstructure:"app"`
- *ETCD `mapstructure:"etcd"`
- }
-
- type DB struct {
- Host string `yaml:"host"`
- Port int `yaml:"port"`
- User string `yaml:"user"`
- Password string `yaml:"password"`
- Database string `yaml:"database"`
- }
-
- type Mongo struct {
- Host string `yaml:"host"`
- Port int `yaml:"port"`
- DataDB string `yaml:"datadb"`
- LogDB string `yaml:"logdb"`
- }
-
- type App struct {
- Port int `yaml:"port"`
- TaskNums int `yaml:"tasknums"`
- ErrNums int `yaml:"errnums"`
- ShellPath string `yaml:"shellpath"`
- LocalAddr string `yaml:"localaddr"`
- Mod string `yaml:"mod"`
- Name string `yaml:"name"`
- UseETCD bool `yaml:"useetcd"`
- }
-
- type ETCD struct {
- Addrs []string `yaml:"addrs"`
- Timeout int `yaml:"timeout"`
- LockLease int64 `yaml:"locklease"`
- ServiceLease int64 `yaml:"servicelease"`
- }
-
- func InitConfig() (err error) {
- baseDir, err := utils.GetCurrentPath("conf")
- fmt.Println("conf:", baseDir)
- if err != nil {
- return
- }
- viper.SetConfigName("app_config")
- viper.SetConfigType("yaml")
- viper.AddConfigPath(baseDir)
-
- if err = viper.ReadInConfig(); err != nil {
- return
- }
- if err = viper.Unmarshal(&AppConfig); err != nil {
- return
- }
- return nil
- }
|