12345678910111213141516171819202122232425262728293031 |
- package config
- import (
- "flag"
- "fmt"
- "github.com/spf13/viper"
- "os"
- )
- func NewConfig() *viper.Viper {
- envConf := os.Getenv("APP_CONF")
- if envConf == "" {
- flag.StringVar(&envConf, "conf", "config/local.yml", "config path, eg: -conf config/local.yml")
- flag.Parse()
- }
- if envConf == "" {
- envConf = "config/local.yml"
- }
- fmt.Println("load conf file:", envConf)
- return getConfig(envConf)
- }
- func getConfig(path string) *viper.Viper {
- conf := viper.New()
- conf.SetConfigFile(path)
- err := conf.ReadInConfig()
- if err != nil {
- panic(err)
- }
- return conf
- }
|