forked from apache/incubator-devlake
/
default_logger.go
57 lines (44 loc) · 1.35 KB
/
default_logger.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
package helper
import (
"fmt"
"github.com/merico-dev/lake/plugins/core"
"github.com/sirupsen/logrus"
)
type DefaultLogger struct {
prefix string
log *logrus.Logger
}
func NewDefaultLogger(log *logrus.Logger, prefix string) *DefaultLogger {
return &DefaultLogger{prefix: prefix, log: log}
}
func (l *DefaultLogger) IsLevelEnabled(level core.LogLevel) bool {
return l.log.IsLevelEnabled(logrus.Level(level))
}
func (l *DefaultLogger) Log(level core.LogLevel, format string, a ...interface{}) {
if l.IsLevelEnabled(level) {
msg := fmt.Sprintf(format, a...)
if l.prefix != "" {
msg = fmt.Sprintf("%s %s", l.prefix, msg)
}
l.log.Log(logrus.Level(level), msg)
}
}
func (l *DefaultLogger) Printf(format string, a ...interface{}) {
l.Log(core.LOG_INFO, format, a...)
}
func (l *DefaultLogger) Debug(format string, a ...interface{}) {
l.Log(core.LOG_DEBUG, format, a...)
}
func (l *DefaultLogger) Info(format string, a ...interface{}) {
l.Log(core.LOG_INFO, format, a...)
}
func (l *DefaultLogger) Warn(format string, a ...interface{}) {
l.Log(core.LOG_WARN, format, a...)
}
func (l *DefaultLogger) Error(format string, a ...interface{}) {
l.Log(core.LOG_ERROR, format, a...)
}
func (l *DefaultLogger) Nested(name string) core.Logger {
return NewDefaultLogger(l.log, fmt.Sprintf("%s [%s]", l.prefix, name))
}
var _ core.Logger = (*DefaultLogger)(nil)