package main import ( "fmt" "log" "os" "daydev.org/shipsgs/internal/config" "daydev.org/shipsgs/internal/server" "daydev.org/shipsgs/internal/utils" "github.com/xlab/closer" ) var Logger *utils.Logger var ch_sighup *chan bool 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) config.ReadConfig() log.Println("Starting Healthy") //closer.Hold() server.SetupAndRun(":8080", ch_sighup) } func cleanup() { fmt.Println("Shutting down ") *ch_sighup <- true Logger.PrintInfo("main", map[string]string{ "Info": "Closing Application Normally", }) }