| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- package conf
- import (
- l4g "github.com/alecthomas/log4go"
- "github.com/spf13/viper"
- "os"
- )
- var cfg = Config{}
- type Config struct {
- Database Database `mapstructure:"database"` // 数据库配置
- }
- type Database struct {
- Host string `mapstructure:"host"`
- User string `mapstructure:"user"`
- Dbname string `mapstructure:"dbname"`
- Pwd string `mapstructure:"pwd"`
- Port int `mapstructure:"port"`
- Charset string `mapstructure:"charset"`
- }
- func LoadConfig(logger *l4g.Logger) {
- path, err := os.Getwd()
- if err != nil {
- panic(err)
- }
- viper.AddConfigPath(path + "/conf")
- logger.Debug("配置文件路径为 %s", path+"/conf")
- viper.SetConfigName("config")
- viper.SetConfigType("yaml")
- if err := viper.ReadInConfig(); err != nil {
- logger.Error("读取配置文件失败, 异常信息: ", err)
- panic(err)
- }
- // 将文件内容解析后封装到cfg对象中
- if err := viper.Unmarshal(&cfg); err != nil {
- logger.Error("解析配置文件失败, 异常信息 : ", err)
- }
- }
- // GetInfo 获取配置文件
- func GetInfo() Config {
- return cfg
- }
|