@@ -62,24 +62,44 @@ func (opt *Options) Debugf(format string, v ...interface{}) {
62
62
opt .Logger .Debugf (format , v ... )
63
63
}
64
64
65
+ type loggingLevel int
66
+
67
+ const (
68
+ DEBUG loggingLevel = iota
69
+ INFO
70
+ WARNING
71
+ ERROR
72
+ )
73
+
65
74
type defaultLog struct {
66
75
* log.Logger
76
+ level loggingLevel
67
77
}
68
78
69
- var defaultLogger = & defaultLog {Logger : log .New (os .Stderr , "badger " , log .LstdFlags )}
79
+ func defaultLogger (level loggingLevel ) * defaultLog {
80
+ return & defaultLog {Logger : log .New (os .Stderr , "badger " , log .LstdFlags ), level : level }
81
+ }
70
82
71
83
func (l * defaultLog ) Errorf (f string , v ... interface {}) {
72
- l .Printf ("ERROR: " + f , v ... )
84
+ if l .level <= ERROR {
85
+ l .Printf ("ERROR: " + f , v ... )
86
+ }
73
87
}
74
88
75
89
func (l * defaultLog ) Warningf (f string , v ... interface {}) {
76
- l .Printf ("WARNING: " + f , v ... )
90
+ if l .level <= WARNING {
91
+ l .Printf ("WARNING: " + f , v ... )
92
+ }
77
93
}
78
94
79
95
func (l * defaultLog ) Infof (f string , v ... interface {}) {
80
- l .Printf ("INFO: " + f , v ... )
96
+ if l .level <= INFO {
97
+ l .Printf ("INFO: " + f , v ... )
98
+ }
81
99
}
82
100
83
101
func (l * defaultLog ) Debugf (f string , v ... interface {}) {
84
- l .Printf ("DEBUG: " + f , v ... )
102
+ if l .level <= DEBUG {
103
+ l .Printf ("DEBUG: " + f , v ... )
104
+ }
85
105
}
0 commit comments