forked from fclairamb/afero-gdrive
/
gokit.go
73 lines (58 loc) · 1.95 KB
/
gokit.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
// Package gokit defines a simple implementation of the logging interface
package gokit
import (
"fmt"
"os"
gklog "github.com/go-kit/kit/log"
gklevel "github.com/go-kit/kit/log/level"
"github.com/jonny5532/afero-gdrive/log"
)
func (logger *gKLogger) checkError(err error) {
if err != nil {
fmt.Println("Logging faced this error: ", err)
}
}
func (logger *gKLogger) log(gklogger gklog.Logger, event string, keyvals ...interface{}) {
keyvals = append(keyvals, "event", event)
logger.checkError(gklogger.Log(keyvals...))
}
// Debug logs key-values at debug level
func (logger *gKLogger) Debug(event string, keyvals ...interface{}) {
logger.log(gklevel.Debug(logger.logger), event, keyvals...)
}
// Info logs key-values at info level
func (logger *gKLogger) Info(event string, keyvals ...interface{}) {
logger.log(gklevel.Info(logger.logger), event, keyvals...)
}
// Warn logs key-values at warn level
func (logger *gKLogger) Warn(event string, keyvals ...interface{}) {
logger.log(gklevel.Warn(logger.logger), event, keyvals...)
}
// Error logs key-values at error level
func (logger *gKLogger) Error(event string, keyvals ...interface{}) {
logger.log(gklevel.Error(logger.logger), event, keyvals...)
}
// With adds key-values
func (logger *gKLogger) With(keyvals ...interface{}) log.Logger {
return NewGKLogger(gklog.With(logger.logger, keyvals...))
}
// NewGKLogger creates a logger based on go-kit logs
func NewGKLogger(logger gklog.Logger) log.Logger {
return &gKLogger{
logger: logger,
}
}
// NewGKLoggerStdout creates a logger based on go-kit logs but with some default parameters
func NewGKLoggerStdout() log.Logger {
return NewGKLogger(gklog.NewLogfmtLogger(gklog.NewSyncWriter(os.Stdout)))
}
type gKLogger struct {
logger gklog.Logger
}
const callDepth = 5
var (
// GKDefaultCaller adds a "caller" property
GKDefaultCaller = gklog.Caller(callDepth)
// GKDefaultTimestampUTC adds a "ts" property
GKDefaultTimestampUTC = gklog.DefaultTimestampUTC
)