package config import ( "fmt" "os" "time" "github.com/BurntSushi/toml" ) var ( // Conf crocodile conf Conf *conf ) // Init Config func Init(conf string) { _, err := toml.DecodeFile(conf, &Conf) if err != nil { fmt.Printf("Err %v", err) os.Exit(1) } } type conf struct { Serve serve DB db Udp udp Mail mail Log log } type serve struct { GrpcAddr string } type udp struct { LocPort string Next udpNext } type udpNext struct { Addr string Port int Stype string } type mail struct { Send bool To string Api string } // Log Config type log struct { LogPath string MaxSize int Compress bool MaxAge int MaxBackups int LogLevel string Format string } type db struct { Mongo mgo Mongo1 mgo Es es Es1 es } type mgo struct { Addr string Dbname string Size int User string Password string } type es struct { Addr string Size int User string Password string IndexS string TypeS string } type duration struct { time.Duration } // UnmarshalText parse 10s to time.Time func (d *duration) UnmarshalText(text []byte) error { var err error d.Duration, err = time.ParseDuration(string(text)) return err }