/
log.go
49 lines (40 loc) · 928 Bytes
/
log.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
package dots_common
import (
"os"
log "github.com/sirupsen/logrus"
"flag"
)
type LogLevel int
var (
infoLogFlag *bool
debugLogFlag *bool
)
func init() {
infoLogFlag = flag.Bool("v", false, "more verbose information")
debugLogFlag = flag.Bool("vv", false, "more verbose information and misc")
}
func SetUpLogger() {
flag.Parse()
var ll log.Level
switch {
case *debugLogFlag:
ll = log.DebugLevel
case *infoLogFlag:
ll = log.InfoLevel
default:
ll = log.ErrorLevel
}
//TODO use config parameter to create formatter
Formatter := new(log.TextFormatter)
Formatter.TimestampFormat = "2006-01-02 15:04:05"
Formatter.FullTimestamp = true
Formatter.ForceColors = true
log.SetFormatter(Formatter)
//
//// Output to stdout instead of the default stderr
//// Can be any io.Writer, see below for File example
log.SetOutput(os.Stdout)
//
//// Only log the warning severity or above.
log.SetLevel(ll)
}