package main import ( "fmt" "log" "os" ) const DEBUG = true var mainLogger *log.Logger var pythonLogger *log.Logger var logFile *os.File func main() { err := setup() defer teardown() if err != nil { panic(err) } quitSnapshot := make(chan int, 1) go saveSnapshotOnInterval(1, quitSnapshot) startServer() } func setup() error { err := InitDb() if err != nil { return err } logFile, err = os.OpenFile("./server-log", os.O_RDWR | os.O_CREATE | os.O_APPEND, 0666) if err != nil { fmt.Println("Logger failed to initialise, this session will not be logged: ", err.Error()) mainLogger = log.New(os.Stdout, "Main: ", 0) pythonLogger = log.New(os.Stdout, "Python Process: ", 0) return nil } mainLogger = log.New(logFile, "Main: ", log.Ldate | log.Ltime | log.Lshortfile) pythonLogger = log.New(logFile, "Python Process: ", log.Ldate | log.Ltime | log.Lshortfile) mainLogger.Printf("Session started") return nil } func teardown() { CloseDb() err := logFile.Close() if err != nil { panic(err) } }