package main import ( "fmt" "log" "os" "daydev.org/shipsgs/internal/config" "daydev.org/shipsgs/internal/gameServer" "daydev.org/shipsgs/internal/server" "daydev.org/shipsgs/internal/utils" "github.com/xlab/closer" ) var Logger *utils.Logger var ch_sighup *chan bool //GameServer Public Global Instance var GS *gameServer.GameServer func main() { logFile, err := os.OpenFile("runlog.log", os.O_APPEND|os.O_CREATE|os.O_WRONLY, 0644) if err != nil { fmt.Println(err) } else { log.SetOutput(logFile) } defer logFile.Close() closer.Bind(cleanup) sighup := make(chan bool) ch_sighup = &sighup //If debug - fill Stdout too - LOG to use? //Logger = utils.New(os.Stdout, utils.LevelInfo) //GameServer var gs gameServer.GameServer GS = &gs go gs.Update() config.ReadConfig() log.Println("Starting Healthy") //closer.Hold() server.SetupAndRun(":8080", ch_sighup) } func cleanup() { fmt.Println("Shutting down ") *ch_sighup <- true //Investigate why no messages on correct closing GS.Shutdown = nil Logger.PrintInfo("main", map[string]string{ "Info": "Closing Application Normally", }) }