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 Log log } type serve struct { JyHref string LocPort 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 Mysql mysql Es es } type mgo struct { Addr string Dbname string Coll string Pcoll string Size int User string Password string } type mysql struct { Addr string Dbname string Coll string Pcoll string Size int User string Password string } type es struct { Addr string User string Password string Size int Index 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 }