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 { Udp udp Serve serve DB db Mail mail Log log } type udp struct { LocPort string } type serve struct { Thread int ExField []string } type es struct { Addr string User string Password string Size int } 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 { Es es Mongo mgo Mongo1 mgo Mongo2 mgo Mysql mysql } type mgo struct { Addr string Dbname string Coll string Size int User string Password string } type mysql struct { Addr string Dbname string Size int User string Password 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 }