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 { Pici int64 Thread int TagRule string JyHref string } type udp struct { LocPort string } type es struct { Addr string User string Password string Size int IndexP string MinSdMh 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 { MongoB mgo MongoP mgo Mysql mysql Es es Redis redis } type mgo struct { Addr string Dbname string ProposedColl string CombColl string ProjectColl string Size int User string Password string } type redis struct { Addr string Project string Proposed string Dbt int Dbd int } type mysql struct { Addr string DbnameBasic string DbnameMedical 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 }