-
Notifications
You must be signed in to change notification settings - Fork 2
/
main.go
61 lines (52 loc) · 1.04 KB
/
main.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
package main
import (
"bscrap/bscrap_srv"
"bscrap/config"
"bscrap/db"
"log"
"net/http"
"os"
"os/signal"
"syscall"
)
func getLogFile(path string) *os.File {
f, err := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, os.ModeAppend)
if err != nil {
_, err := os.Create(path)
if err != nil {
log.Fatal(err)
}
f, err := os.OpenFile(path, os.O_APPEND|os.O_WRONLY, os.ModeAppend)
if err != nil {
log.Fatal(err)
}
return f
}
return f
}
func main() {
logFile := getLogFile("/data/log.log")
defer logFile.Close()
log.SetFlags(log.Flags() &^ (log.Ldate | log.Ltime))
log.SetOutput(logFile)
mi, err := db.ConnectMongo(config.DBUri)
if err != nil {
log.Panic(err)
return
}
log.Println("application startup")
bScrapEnv := &bscrap_srv.Env{Mi: mi}
go func() {
err := http.ListenAndServe(
":8080",
bscrap_srv.Run(bScrapEnv),
)
if err != nil {
log.Panic(err)
}
}()
interupt := make(chan os.Signal, 1)
signal.Notify(interupt, syscall.SIGTERM, syscall.SIGINT)
<-interupt
log.Print("application shutdown\n\n")
}