github.com/nxtrace/NTrace-core@v1.3.1-0.20240513132635-39169291e8c9/config/viper.go (about) 1 package config 2 3 import ( 4 "fmt" 5 6 "github.com/spf13/viper" 7 ) 8 9 func InitConfig() { 10 11 // 配置文件名, 不加扩展 12 viper.SetConfigName("nt_config") // name of config file (without extension) 13 // 设置文件的扩展名 14 viper.SetConfigType("yaml") // REQUIRED if the config file does not have the extension in the name 15 // 查找配置文件所在路径 16 viper.AddConfigPath("/etc/bin/nexttrace/") 17 viper.AddConfigPath("/usr/local/bin/nexttrace/") 18 // 在当前路径进行查找 19 viper.AddConfigPath(".") 20 // viper.AddConfigPath("./config/") 21 22 // 配置默认值 23 viper.SetDefault("ptrPath", "./ptr.csv") 24 viper.SetDefault("geoFeedPath", "./geofeed.csv") 25 26 // 开始查找并读取配置文件 27 err := viper.ReadInConfig() // Find and read the config file 28 if err != nil { // Handle errors reading the config file 29 fmt.Println("未能找到配置文件,我们将在您的运行目录为您创建 nt_config.yaml 默认配置") 30 err := viper.SafeWriteConfigAs("./nt_config.yaml") 31 if err != nil { 32 return 33 } 34 } 35 36 err = viper.ReadInConfig() 37 if err != nil { 38 return 39 } 40 }