package main import ( "log" "os" "path" ) var ( CFG *Config LOG *log.Logger USERS *UserManager ) func init() { // First and most important step, get logging working if !Exists("logs") { err := os.Mkdir("logs", os.ModeDir) if err != nil { panic("init >> mkdir logs >> " + err.Error()) } } // Establish connection to main Log file ('logs/lunar_hub.log') log_path := path.Join("logs", "lunar_hub.log") f, err := os.OpenFile(log_path, os.O_CREATE|os.O_APPEND|os.O_RDWR|os.O_SYNC, 0666) if err != nil { panic("init >> opening main log ('" + log_path + "') >> " + err.Error()) } LOG = log.New(f, "", log.Ldate|log.Ltime|log.Lshortfile) // Now to setup data, and other directories if !Exists("data") { err := os.Mkdir("data", os.ModeDir) if err != nil { panic("init >> mkdir data >> " + err.Error()) } } if !Exists("msgs") { err := os.Mkdir("msgs", os.ModeDir) if err != nil { panic("init >> mkdir msgs >> " + err.Error()) } } if !Exists("files") { err := os.Mkdir("files", os.ModeDir) if err != nil { panic("init >> mkdir files >> " + err.Error()) } } // Initialize Config CFG = LoadConfig() } func main() { Print("Lunar Hub - Startup") var err error USERS, err = NewUserManager() if err != nil { LOG.Fatalln("User Manager >>", err) } }