forked from op/go-logging
/
logger_basic.go
111 lines (89 loc) · 2.92 KB
/
logger_basic.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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
package logging
import (
"fmt"
"os"
)
type Basic struct {
writer LogWriter
// ExtraCallDepth can be used to add additional call depth when getting the
// calling function. This is normally used when wrapping a logger.
ExtraCalldepth int
}
// NewBasic creates Basic with writer
func NewBasic(writer LogWriter) Basic {
return Basic{writer: writer}
}
func (l Basic) write(lvl Level, format *string, args ...interface{}) {
l.writer.Write(lvl, 2+l.ExtraCalldepth, format, args...)
}
// Fatal is equivalent to l.Critical(fmt.Sprint()) followed by a call to os.Exit(1).
func (l Basic) Fatal(args ...interface{}) {
l.write(CRITICAL, nil, args...)
os.Exit(1)
}
// Fatalf is equivalent to l.Critical followed by a call to os.Exit(1).
func (l Basic) Fatalf(format string, args ...interface{}) {
l.write(CRITICAL, &format, args...)
os.Exit(1)
}
// Panic is equivalent to l.Critical(fmt.Sprint()) followed by a call to panic().
func (l Basic) Panic(args ...interface{}) {
l.write(CRITICAL, nil, args...)
panic(fmt.Sprint(args...))
}
// Panicf is equivalent to l.Critical followed by a call to panic().
func (l Basic) Panicf(format string, args ...interface{}) {
l.write(CRITICAL, &format, args...)
panic(fmt.Sprintf(format, args...))
}
// Critical logs a message using CRITICAL as log level.
func (l Basic) Critical(args ...interface{}) {
l.write(CRITICAL, nil, args...)
}
// Criticalf logs a message using CRITICAL as log level.
func (l Basic) Criticalf(format string, args ...interface{}) {
l.write(CRITICAL, &format, args...)
}
// Error logs a message using ERROR as log level.
func (l Basic) Error(args ...interface{}) {
l.write(ERROR, nil, args...)
}
// Errorf logs a message using ERROR as log level.
func (l Basic) Errorf(format string, args ...interface{}) {
l.write(ERROR, &format, args...)
}
// Warning logs a message using WARNING as log level.
func (l Basic) Warning(args ...interface{}) {
l.write(WARNING, nil, args...)
}
// Warningf logs a message using WARNING as log level.
func (l Basic) Warningf(format string, args ...interface{}) {
l.write(WARNING, &format, args...)
}
// Notice logs a message using NOTICE as log level.
func (l Basic) Notice(args ...interface{}) {
l.write(NOTICE, nil, args...)
}
// Noticef logs a message using NOTICE as log level.
func (l Basic) Noticef(format string, args ...interface{}) {
l.write(NOTICE, &format, args...)
}
// Info logs a message using INFO as log level.
func (l Basic) Info(args ...interface{}) {
l.write(INFO, nil, args...)
}
// Infof logs a message using INFO as log level.
func (l Basic) Infof(format string, args ...interface{}) {
l.write(INFO, &format, args...)
}
// Debug logs a message using DEBUG as log level.
func (l Basic) Debug(args ...interface{}) {
l.write(DEBUG, nil, args...)
}
// Debugf logs a message using DEBUG as log level.
func (l Basic) Debugf(format string, args ...interface{}) {
l.write(DEBUG, &format, args...)
}
func (l Basic) Writer() LogWriter {
return l.writer
}