forked from lfq7413/tomato
/
beego_logger_adapter.go
55 lines (42 loc) · 1.17 KB
/
beego_logger_adapter.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
package logger
import (
"strings"
"github.com/astaxie/beego/logs"
"github.com/okobsamoht/talisman/errs"
"github.com/okobsamoht/talisman/types"
)
type beegoLogger struct {
beelogger *logs.BeeLogger
}
func newBeegoLogger() *beegoLogger {
l := logs.NewLogger(1000)
l.SetLevel(logs.LevelDebug)
l.SetLogger("file", `{"filename":"project.log"}`)
l.DelLogger("console")
l.Async()
return &beegoLogger{
beelogger: l,
}
}
func (l *beegoLogger) log(level string, args ...interface{}) {
switch level {
case "debug":
l.beelogger.Debug(generateFmtStr(len(args)), args...)
case "info":
l.beelogger.Informational(generateFmtStr(len(args)), args...)
case "verbose":
l.beelogger.Notice(generateFmtStr(len(args)), args...)
case "warn":
l.beelogger.Warning(generateFmtStr(len(args)), args...)
case "error":
l.beelogger.Error(generateFmtStr(len(args)), args...)
case "silly":
l.beelogger.Critical(generateFmtStr(len(args)), args...)
}
}
func generateFmtStr(n int) string {
return strings.Repeat("%v ", n)
}
func (l *beegoLogger) query(options types.M) (types.M, error) {
return nil, errs.E(errs.PushMisconfigured, "Querying logs is not supported with this adapter")
}