50 lines
1.0 KiB
Go
50 lines
1.0 KiB
Go
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(30, 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)
|
|
}
|
|
} |