@@ -29,11 +29,17 @@ const (
29
29
) // [prefix][time][level][module][shortfile|longfile]
30
30
31
31
const (
32
+ // Ldebug is a log output level that prints debug information.
32
33
Ldebug = iota
34
+ // Linfo is a log output level that prints prompting information.
33
35
Linfo
36
+ // Lwarn is a log output level that prints warning information.
34
37
Lwarn
38
+ // Lerror is a log output level that prints error information.
35
39
Lerror
40
+ // Lpanic is a log output level that prints error information.
36
41
Lpanic
42
+ // Lfatal is a log output level that prints fatal information.
37
43
Lfatal
38
44
)
39
45
@@ -68,6 +74,7 @@ func New(out io.Writer, prefix string, flag int) *Logger {
68
74
return & Logger {out : out , prefix : prefix , Level : 1 , flag : flag }
69
75
}
70
76
77
+ // Std *Logger.
71
78
var Std = New (os .Stderr , "" , Ldefault )
72
79
73
80
// Cheap integer to fixed-width decimal ASCII. Give a negative width to avoid zero-padding.
@@ -107,7 +114,7 @@ func shortFile(file string, flag int) string {
107
114
return file
108
115
}
109
116
110
- func (l * Logger ) formatHeader (buf * bytes.Buffer , t time.Time , file string , line int , lvl int , reqId string ) {
117
+ func (l * Logger ) formatHeader (buf * bytes.Buffer , t time.Time , file string , line int , lvl int , reqID string ) {
111
118
if l .prefix != "" {
112
119
buf .WriteString (l .prefix )
113
120
}
@@ -135,9 +142,9 @@ func (l *Logger) formatHeader(buf *bytes.Buffer, t time.Time, file string, line
135
142
buf .WriteByte (' ' )
136
143
}
137
144
}
138
- if reqId != "" {
145
+ if reqID != "" {
139
146
buf .WriteByte ('[' )
140
- buf .WriteString (reqId )
147
+ buf .WriteString (reqID )
141
148
buf .WriteByte (']' )
142
149
}
143
150
if l .flag & Llevel != 0 {
@@ -161,7 +168,7 @@ func (l *Logger) formatHeader(buf *bytes.Buffer, t time.Time, file string, line
161
168
// already a newline. Calldepth is used to recover the PC and is
162
169
// provided for generality, although at the moment on all pre-defined
163
170
// paths it will be 2.
164
- func (l * Logger ) Output (reqId string , lvl int , calldepth int , s string ) error {
171
+ func (l * Logger ) Output (reqID string , lvl int , calldepth int , s string ) error {
165
172
if lvl < l .Level {
166
173
return nil
167
174
}
@@ -183,7 +190,7 @@ func (l *Logger) Output(reqId string, lvl int, calldepth int, s string) error {
183
190
}
184
191
l .levelStats [lvl ]++
185
192
l .buf .Reset ()
186
- l .formatHeader (& l .buf , now , file , line , lvl , reqId )
193
+ l .formatHeader (& l .buf , now , file , line , lvl , reqID )
187
194
l .buf .WriteString (s )
188
195
if len (s ) > 0 && s [len (s )- 1 ] != '\n' {
189
196
l .buf .WriteByte ('\n' )
@@ -210,13 +217,15 @@ func (l *Logger) Println(v ...interface{}) { l.Output("", Linfo, 2, fmt.Sprintln
210
217
211
218
// -----------------------------------------
212
219
220
+ // Debugf prints a debug information.
213
221
func (l * Logger ) Debugf (format string , v ... interface {}) {
214
222
if Ldebug < l .Level {
215
223
return
216
224
}
217
225
l .Output ("" , Ldebug , 2 , fmt .Sprintf (format , v ... ))
218
226
}
219
227
228
+ // Debug prints a debug information.
220
229
func (l * Logger ) Debug (v ... interface {}) {
221
230
if Ldebug < l .Level {
222
231
return
@@ -226,13 +235,15 @@ func (l *Logger) Debug(v ...interface{}) {
226
235
227
236
// -----------------------------------------
228
237
238
+ // Infof prints a prompting information.
229
239
func (l * Logger ) Infof (format string , v ... interface {}) {
230
240
if Linfo < l .Level {
231
241
return
232
242
}
233
243
l .Output ("" , Linfo , 2 , fmt .Sprintf (format , v ... ))
234
244
}
235
245
246
+ // Info prints a prompting information.
236
247
func (l * Logger ) Info (v ... interface {}) {
237
248
if Linfo < l .Level {
238
249
return
@@ -242,22 +253,27 @@ func (l *Logger) Info(v ...interface{}) {
242
253
243
254
// -----------------------------------------
244
255
256
+ // Warnf prints a warning information.
245
257
func (l * Logger ) Warnf (format string , v ... interface {}) {
246
258
l .Output ("" , Lwarn , 2 , fmt .Sprintf (format , v ... ))
247
259
}
248
260
261
+ // Warn prints a warning information.
249
262
func (l * Logger ) Warn (v ... interface {}) { l .Output ("" , Lwarn , 2 , fmt .Sprintln (v ... )) }
250
263
251
264
// -----------------------------------------
252
265
266
+ // Errorf prints an error information.
253
267
func (l * Logger ) Errorf (format string , v ... interface {}) {
254
268
l .Output ("" , Lerror , 2 , fmt .Sprintf (format , v ... ))
255
269
}
256
270
271
+ // Error prints an error information.
257
272
func (l * Logger ) Error (v ... interface {}) { l .Output ("" , Lerror , 2 , fmt .Sprintln (v ... )) }
258
273
259
274
// -----------------------------------------
260
275
276
+ // Fatal prints an error information and exit app.
261
277
func (l * Logger ) Fatal (v ... interface {}) {
262
278
l .Output ("" , Lfatal , 2 , fmt .Sprint (v ... ))
263
279
os .Exit (1 )
@@ -300,6 +316,7 @@ func (l *Logger) Panicln(v ...interface{}) {
300
316
301
317
// -----------------------------------------
302
318
319
+ // Stack prints a stack trace of all goroutines.
303
320
func (l * Logger ) Stack (v ... interface {}) {
304
321
s := fmt .Sprint (v ... )
305
322
s += "\n "
@@ -310,6 +327,7 @@ func (l *Logger) Stack(v ...interface{}) {
310
327
l .Output ("" , Lerror , 2 , s )
311
328
}
312
329
330
+ // SingleStack prints a stack trace of the calling goroutines.
313
331
func (l * Logger ) SingleStack (v ... interface {}) {
314
332
s := fmt .Sprint (v ... )
315
333
s += "\n "
@@ -322,6 +340,7 @@ func (l *Logger) SingleStack(v ...interface{}) {
322
340
323
341
// -----------------------------------------
324
342
343
+ // Stat func.
325
344
func (l * Logger ) Stat () (stats []int64 ) {
326
345
l .mu .Lock ()
327
346
v := l .levelStats
@@ -391,14 +410,21 @@ func SetPrefix(prefix string) {
391
410
Std .SetPrefix (prefix )
392
411
}
393
412
413
+ // SetOutputLevel sets output level.
394
414
func SetOutputLevel (lvl int ) {
395
415
Std .SetOutputLevel (lvl )
396
416
}
397
417
418
+ // GetOutputLevel returns output level.
398
419
func GetOutputLevel () int {
399
420
return Std .Level
400
421
}
401
422
423
+ // CanOutput returns to output a message or not.
424
+ func CanOutput (lvl int ) bool {
425
+ return lvl >= Std .Level
426
+ }
427
+
402
428
// -----------------------------------------
403
429
404
430
// Print calls Output to print to the standard logger.
@@ -421,13 +447,15 @@ func Println(v ...interface{}) {
421
447
422
448
// -----------------------------------------
423
449
450
+ // Debugf prints a debug information.
424
451
func Debugf (format string , v ... interface {}) {
425
452
if Ldebug < Std .Level {
426
453
return
427
454
}
428
455
Std .Output ("" , Ldebug , 2 , fmt .Sprintf (format , v ... ))
429
456
}
430
457
458
+ // Debug prints a debug information.
431
459
func Debug (v ... interface {}) {
432
460
if Ldebug < Std .Level {
433
461
return
@@ -437,13 +465,15 @@ func Debug(v ...interface{}) {
437
465
438
466
// -----------------------------------------
439
467
468
+ // Infof prints a prompting information.
440
469
func Infof (format string , v ... interface {}) {
441
470
if Linfo < Std .Level {
442
471
return
443
472
}
444
473
Std .Output ("" , Linfo , 2 , fmt .Sprintf (format , v ... ))
445
474
}
446
475
476
+ // Info prints a prompting information.
447
477
func Info (v ... interface {}) {
448
478
if Linfo < Std .Level {
449
479
return
@@ -453,18 +483,22 @@ func Info(v ...interface{}) {
453
483
454
484
// -----------------------------------------
455
485
486
+ // Warnf prints a warning information.
456
487
func Warnf (format string , v ... interface {}) {
457
488
Std .Output ("" , Lwarn , 2 , fmt .Sprintf (format , v ... ))
458
489
}
459
490
491
+ // Warn prints a warning information.
460
492
func Warn (v ... interface {}) { Std .Output ("" , Lwarn , 2 , fmt .Sprintln (v ... )) }
461
493
462
494
// -----------------------------------------
463
495
496
+ // Errorf prints an error information.
464
497
func Errorf (format string , v ... interface {}) {
465
498
Std .Output ("" , Lerror , 2 , fmt .Sprintf (format , v ... ))
466
499
}
467
500
501
+ // Error prints an error information.
468
502
func Error (v ... interface {}) { Std .Output ("" , Lerror , 2 , fmt .Sprintln (v ... )) }
469
503
470
504
// -----------------------------------------
@@ -512,10 +546,12 @@ func Panicln(v ...interface{}) {
512
546
513
547
// -----------------------------------------
514
548
549
+ // Stack prints a stack trace of all goroutines.
515
550
func Stack (v ... interface {}) {
516
551
Std .Stack (v ... )
517
552
}
518
553
554
+ // SingleStack prints a stack trace of the calling goroutines.
519
555
func SingleStack (v ... interface {}) {
520
556
Std .SingleStack (v ... )
521
557
}
0 commit comments