@@ -116,21 +116,21 @@ type Entry struct {
116
116
type Level int
117
117
118
118
const (
119
- Debug Level = iota
120
- Info
121
- Warn
119
+ LevelDebug Level = iota
120
+ LevelInfo
121
+ LevelWarn
122
122
LevelError
123
- Critical
124
- Fatal
123
+ LevelCritical
124
+ LevelFatal
125
125
)
126
126
127
127
var levelStrings = map [Level ]string {
128
- Debug : "DEBUG" ,
129
- Info : "INFO" ,
130
- Warn : "WARN" ,
131
- LevelError : "ERROR" ,
132
- Critical : "CRITICAL" ,
133
- Fatal : "FATAL" ,
128
+ LevelDebug : "DEBUG" ,
129
+ LevelInfo : "INFO" ,
130
+ LevelWarn : "WARN" ,
131
+ LevelError : "ERROR" ,
132
+ LevelCritical : "CRITICAL" ,
133
+ LevelFatal : "FATAL" ,
134
134
}
135
135
136
136
func (l Level ) String () string {
@@ -149,14 +149,18 @@ type Sink interface {
149
149
// Make creates a logger that writes logs to sink.
150
150
func Make (s Sink , opts * Options ) Logger {
151
151
if opts == nil {
152
- opts = & Options {}
152
+ opts = & Options {
153
+ Level : func () Level {
154
+ return LevelDebug
155
+ },
156
+ }
153
157
}
154
158
155
159
l := Logger {
156
160
sinks : []sink {
157
161
{
158
162
sink : s ,
159
- level : opts .Level ,
163
+ level : opts .Level () ,
160
164
},
161
165
},
162
166
testingHelper : func () {},
@@ -184,17 +188,17 @@ type Logger struct {
184
188
185
189
func (l Logger ) Debug (ctx context.Context , msg string , fields ... Field ) {
186
190
l .testingHelper ()
187
- l .log (ctx , Debug , msg , fields )
191
+ l .log (ctx , LevelDebug , msg , fields )
188
192
}
189
193
190
194
func (l Logger ) Info (ctx context.Context , msg string , fields ... Field ) {
191
195
l .testingHelper ()
192
- l .log (ctx , Info , msg , fields )
196
+ l .log (ctx , LevelInfo , msg , fields )
193
197
}
194
198
195
199
func (l Logger ) Warn (ctx context.Context , msg string , fields ... Field ) {
196
200
l .testingHelper ()
197
- l .log (ctx , Warn , msg , fields )
201
+ l .log (ctx , LevelWarn , msg , fields )
198
202
}
199
203
200
204
func (l Logger ) Error (ctx context.Context , msg string , fields ... Field ) {
@@ -204,12 +208,12 @@ func (l Logger) Error(ctx context.Context, msg string, fields ...Field) {
204
208
205
209
func (l Logger ) Critical (ctx context.Context , msg string , fields ... Field ) {
206
210
l .testingHelper ()
207
- l .log (ctx , Critical , msg , fields )
211
+ l .log (ctx , LevelCritical , msg , fields )
208
212
}
209
213
210
214
func (l Logger ) Fatal (ctx context.Context , msg string , fields ... Field ) {
211
215
l .testingHelper ()
212
- l .log (ctx , Fatal , msg , fields )
216
+ l .log (ctx , LevelFatal , msg , fields )
213
217
}
214
218
215
219
func (l Logger ) With (fields ... Field ) Logger {
@@ -240,15 +244,15 @@ func (l Logger) log(ctx context.Context, level Level, msg string, fields []Field
240
244
s .sink .LogEntry (ctx , ent )
241
245
}
242
246
243
- if level == Fatal {
247
+ if level == LevelFatal {
244
248
os .Exit (1 )
245
249
}
246
250
}
247
251
248
252
// The base options for every Logger.
249
253
type Options struct {
250
- // Level to log at, defaults to LevelDebug.
251
- Level Level
254
+ // Level returns to log at, defaults to LevelDebug.
255
+ Level func () Level
252
256
}
253
257
254
258
type parsedFields struct {
0 commit comments