all repos

rss-tools @ a5ac527

get rss feed from sources that(i need and) dont provide one

rss-tools/vendor/go.etcd.io/bbolt/logger.go (view raw)

Oleksandr Smirnov Oleksandr Smirnov
olexsmir@gmail.com
we're vendoring now, 7 days ago
1
package bbolt
2
3
// See https://github.com/etcd-io/raft/blob/main/logger.go
4
import (
5
	"fmt"
6
	"io"
7
	"log"
8
	"os"
9
)
10
11
type Logger interface {
12
	Debug(v ...interface{})
13
	Debugf(format string, v ...interface{})
14
15
	Error(v ...interface{})
16
	Errorf(format string, v ...interface{})
17
18
	Info(v ...interface{})
19
	Infof(format string, v ...interface{})
20
21
	Warning(v ...interface{})
22
	Warningf(format string, v ...interface{})
23
24
	Fatal(v ...interface{})
25
	Fatalf(format string, v ...interface{})
26
27
	Panic(v ...interface{})
28
	Panicf(format string, v ...interface{})
29
}
30
31
func getDiscardLogger() Logger {
32
	return discardLogger
33
}
34
35
var (
36
	discardLogger = &DefaultLogger{Logger: log.New(io.Discard, "", 0)}
37
)
38
39
const (
40
	calldepth = 2
41
)
42
43
// DefaultLogger is a default implementation of the Logger interface.
44
type DefaultLogger struct {
45
	*log.Logger
46
	debug bool
47
}
48
49
func (l *DefaultLogger) EnableTimestamps() {
50
	l.SetFlags(l.Flags() | log.Ldate | log.Ltime)
51
}
52
53
func (l *DefaultLogger) EnableDebug() {
54
	l.debug = true
55
}
56
57
func (l *DefaultLogger) Debug(v ...interface{}) {
58
	if l.debug {
59
		_ = l.Output(calldepth, header("DEBUG", fmt.Sprint(v...)))
60
	}
61
}
62
63
func (l *DefaultLogger) Debugf(format string, v ...interface{}) {
64
	if l.debug {
65
		_ = l.Output(calldepth, header("DEBUG", fmt.Sprintf(format, v...)))
66
	}
67
}
68
69
func (l *DefaultLogger) Info(v ...interface{}) {
70
	_ = l.Output(calldepth, header("INFO", fmt.Sprint(v...)))
71
}
72
73
func (l *DefaultLogger) Infof(format string, v ...interface{}) {
74
	_ = l.Output(calldepth, header("INFO", fmt.Sprintf(format, v...)))
75
}
76
77
func (l *DefaultLogger) Error(v ...interface{}) {
78
	_ = l.Output(calldepth, header("ERROR", fmt.Sprint(v...)))
79
}
80
81
func (l *DefaultLogger) Errorf(format string, v ...interface{}) {
82
	_ = l.Output(calldepth, header("ERROR", fmt.Sprintf(format, v...)))
83
}
84
85
func (l *DefaultLogger) Warning(v ...interface{}) {
86
	_ = l.Output(calldepth, header("WARN", fmt.Sprint(v...)))
87
}
88
89
func (l *DefaultLogger) Warningf(format string, v ...interface{}) {
90
	_ = l.Output(calldepth, header("WARN", fmt.Sprintf(format, v...)))
91
}
92
93
func (l *DefaultLogger) Fatal(v ...interface{}) {
94
	_ = l.Output(calldepth, header("FATAL", fmt.Sprint(v...)))
95
	os.Exit(1)
96
}
97
98
func (l *DefaultLogger) Fatalf(format string, v ...interface{}) {
99
	_ = l.Output(calldepth, header("FATAL", fmt.Sprintf(format, v...)))
100
	os.Exit(1)
101
}
102
103
func (l *DefaultLogger) Panic(v ...interface{}) {
104
	l.Logger.Panic(v...)
105
}
106
107
func (l *DefaultLogger) Panicf(format string, v ...interface{}) {
108
	l.Logger.Panicf(format, v...)
109
}
110
111
func header(lvl, msg string) string {
112
	return fmt.Sprintf("%s: %s", lvl, msg)
113
}