logger.go raw
1 package linodego
2
3 import (
4 "log"
5 "os"
6 )
7
8 //nolint:unused
9 type httpLogger interface {
10 Errorf(format string, v ...any)
11 Warnf(format string, v ...any)
12 Debugf(format string, v ...any)
13 }
14
15 //nolint:unused
16 type logger struct {
17 l *log.Logger
18 }
19
20 //nolint:unused
21 func createLogger() *logger {
22 l := &logger{l: log.New(os.Stderr, "", log.Ldate|log.Lmicroseconds)}
23 return l
24 }
25
26 //nolint:unused
27 var _ httpLogger = (*logger)(nil)
28
29 //nolint:unused
30 func (l *logger) Errorf(format string, v ...any) {
31 l.output("ERROR RESTY "+format, v...)
32 }
33
34 //nolint:unused
35 func (l *logger) Warnf(format string, v ...any) {
36 l.output("WARN RESTY "+format, v...)
37 }
38
39 //nolint:unused
40 func (l *logger) Debugf(format string, v ...any) {
41 l.output("DEBUG RESTY "+format, v...)
42 }
43
44 //nolint:unused
45 func (l *logger) output(format string, v ...any) { //nolint:goprintffuncname
46 if len(v) == 0 {
47 l.l.Print(format)
48 return
49 }
50
51 l.l.Printf(format, v...)
52 }
53