-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathmain.go
69 lines (59 loc) · 1.17 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
62
63
64
65
66
67
68
69
package main
import (
"os"
"strconv"
"github.com/ahmetozer/dynamic-fou/client"
"github.com/ahmetozer/dynamic-fou/server"
"github.com/ahmetozer/dynamic-fou/share"
"go.uber.org/zap"
)
const (
ProjectName string = "dynamic-fou"
)
var (
printsdtout bool
LOGLEVEL string
PORT string
IP string
MODE string
LOGFILE string
)
func init() {
PORT = os.Getenv("PORT")
IP = os.Getenv("IP")
MODE = os.Getenv("MODE")
if MODE == "" {
if len(os.Args) > 1 {
MODE = os.Args[1]
}
}
if MODE == "" {
MODE = "server"
}
LOGFILE = os.Getenv("LOG_FILE")
if LOGFILE == "" {
LOGFILE = "-"
}
LOGLEVEL = os.Getenv("LOG_LEVEL")
if LOGLEVEL == "" {
LOGLEVEL = "2"
}
}
func main() {
u, err := strconv.ParseUint(LOGLEVEL, 10, 64)
share.Err(err)
// Start the logger
share.InitLogger(LOGFILE, uint8(u))
defer share.LogDefer()
err = share.CheckKernelFouCapability()
if err != nil && os.Getenv("KERNEL_FOU_TEST") != "no" {
share.Logger.Fatal("sys-fou-test", zap.Error(err))
}
if MODE == "server" {
share.Logger.Info("Starting server")
server.Start()
} else if MODE == "client" {
share.Logger.Info("Starting client")
client.Start()
}
}