/
main.go
58 lines (47 loc) · 1.3 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
package main
import (
"flag"
"fmt"
"os"
"./core"
"github.com/nurza/logo"
)
var (
// Logging
l *logo.Logger
displayHelp1 = flag.Bool("h", false, "Display help")
displayHelp2 = flag.Bool("help", false, "Display help")
configFile = flag.String("f", "config.yaml", "Configuration file")
verbose1 = flag.Bool("v", false, "Verbose mode 1 : display verbose logs")
verbose2 = flag.Bool("vv", false, "Verbose mode 2 : display verbose and debug logs")
verbose3 = flag.Bool("vvv", false, "Verbose mode 3 : display verbose, debug and silly logs")
)
/*
Help message
*/
var help = `Usage of Docker Guard System Probe: dgs-probe <options>
Options (<option>=[default value]):
-f="config.yaml": Configuration file
-h / --help: Display help
-v: Verbose mode 1 : display verbose logs
-vv: Verbose mode 2 : display verbose and debug logs
-vvv: Verbose mode 3 : display verbose, debug and silly logs`
func main() {
// Flags
flag.Parse()
// If option help, display help message and exit
if *displayHelp1 || *displayHelp2 {
fmt.Println(help)
os.Exit(0)
}
// Logging
println("Init logger...")
l = core.InitLogger(*verbose1, *verbose2, *verbose3)
l.Verbose("logger OK")
// Config
l.Verbose("Init config")
core.InitConfig(*configFile)
l.Verbose("config OK")
// Init Core
core.Init()
}