Revert "Upgrade to go 1.19 and update dependencies (#3069)" (#3085)

This reverts commit bba7c23957.
This commit is contained in:
WithoutPants
2022-11-07 12:33:15 +11:00
committed by GitHub
parent bba7c23957
commit 2609095c7a
939 changed files with 43785 additions and 101302 deletions

View File

@@ -4,66 +4,11 @@ import (
"context"
)
// LoggerLevel represents a logger level
type LoggerLevel int
// Logger levels
const (
LoggerLevelDebug LoggerLevel = iota
LoggerLevelInfo
LoggerLevelWarn
LoggerLevelError
LoggerLevelFatal
)
// LoggerLevelFromString creates a logger level from string
func LoggerLevelFromString(s string) LoggerLevel {
switch s {
case "debug":
return LoggerLevelDebug
case "error":
return LoggerLevelError
case "fatal":
return LoggerLevelFatal
case "warn":
return LoggerLevelWarn
default:
return LoggerLevelInfo
}
}
func (l LoggerLevel) String() string {
switch l {
case LoggerLevelDebug:
return "debug"
case LoggerLevelError:
return "error"
case LoggerLevelFatal:
return "fatal"
case LoggerLevelWarn:
return "warn"
default:
return "info"
}
}
func (l *LoggerLevel) UnmarshalText(b []byte) error {
*l = LoggerLevelFromString(string(b))
return nil
}
func (l LoggerLevel) MarshalText() ([]byte, error) {
b := []byte(l.String())
return b, nil
}
// CompleteLogger represents a complete logger
type CompleteLogger interface {
SeverityCtxLogger
SeverityLogger
SeverityWriteLogger
SeverityWriteCtxLogger
StdLogger
SeverityLogger
SeverityCtxLogger
}
// StdLogger represents a standard logger
@@ -86,15 +31,6 @@ type SeverityLogger interface {
Warnf(format string, v ...interface{})
}
type TestLogger interface {
Error(v ...interface{})
Errorf(format string, v ...interface{})
Fatal(v ...interface{})
Fatalf(format string, v ...interface{})
Log(v ...interface{})
Logf(format string, v ...interface{})
}
// SeverityCtxLogger represents a severity with context logger
type SeverityCtxLogger interface {
DebugC(ctx context.Context, v ...interface{})
@@ -109,108 +45,38 @@ type SeverityCtxLogger interface {
WarnCf(ctx context.Context, format string, v ...interface{})
}
type SeverityWriteLogger interface {
Write(l LoggerLevel, v ...interface{})
Writef(l LoggerLevel, format string, v ...interface{})
}
type SeverityWriteCtxLogger interface {
WriteC(ctx context.Context, l LoggerLevel, v ...interface{})
WriteCf(ctx context.Context, l LoggerLevel, format string, v ...interface{})
}
type completeLogger struct {
print, debug, error, fatal, info, warn func(v ...interface{})
printf, debugf, errorf, fatalf, infof, warnf func(format string, v ...interface{})
debugC, errorC, fatalC, infoC, warnC func(ctx context.Context, v ...interface{})
debugCf, errorCf, fatalCf, infoCf, warnCf func(ctx context.Context, format string, v ...interface{})
write func(l LoggerLevel, v ...interface{})
writeC func(ctx context.Context, l LoggerLevel, v ...interface{})
writeCf func(ctx context.Context, l LoggerLevel, format string, v ...interface{})
writef func(l LoggerLevel, format string, v ...interface{})
}
func newCompleteLogger() *completeLogger {
l := &completeLogger{}
l.debug = func(v ...interface{}) { l.print(v...) }
l.debugf = func(format string, v ...interface{}) { l.printf(format, v...) }
l.debugC = func(ctx context.Context, v ...interface{}) { l.debug(v...) }
l.debugCf = func(ctx context.Context, format string, v ...interface{}) { l.debugf(format, v...) }
l.error = func(v ...interface{}) { l.print(v...) }
l.errorf = func(format string, v ...interface{}) { l.printf(format, v...) }
l.errorC = func(ctx context.Context, v ...interface{}) { l.error(v...) }
l.errorCf = func(ctx context.Context, format string, v ...interface{}) { l.errorf(format, v...) }
l.fatal = func(v ...interface{}) { l.print(v...) }
l.fatalf = func(format string, v ...interface{}) { l.printf(format, v...) }
l.fatalC = func(ctx context.Context, v ...interface{}) { l.fatal(v...) }
l.fatalCf = func(ctx context.Context, format string, v ...interface{}) { l.fatalf(format, v...) }
l.info = func(v ...interface{}) { l.print(v...) }
l.infof = func(format string, v ...interface{}) { l.printf(format, v...) }
l.infoC = func(ctx context.Context, v ...interface{}) { l.info(v...) }
l.infoCf = func(ctx context.Context, format string, v ...interface{}) { l.infof(format, v...) }
l.print = func(v ...interface{}) {}
l.printf = func(format string, v ...interface{}) {}
l.warn = func(v ...interface{}) { l.print(v...) }
l.warnf = func(format string, v ...interface{}) { l.printf(format, v...) }
l.warnC = func(ctx context.Context, v ...interface{}) { l.warn(v...) }
l.warnCf = func(ctx context.Context, format string, v ...interface{}) { l.warnf(format, v...) }
l.write = func(lv LoggerLevel, v ...interface{}) {
switch lv {
case LoggerLevelDebug:
l.debug(v...)
case LoggerLevelError:
l.error(v...)
case LoggerLevelFatal:
l.fatal(v...)
case LoggerLevelWarn:
l.warn(v...)
default:
l.info(v...)
}
return &completeLogger{
debug: func(v ...interface{}) {},
debugf: func(format string, v ...interface{}) {},
debugC: func(ctx context.Context, v ...interface{}) {},
debugCf: func(ctx context.Context, format string, v ...interface{}) {},
error: func(v ...interface{}) {},
errorf: func(format string, v ...interface{}) {},
errorC: func(ctx context.Context, v ...interface{}) {},
errorCf: func(ctx context.Context, format string, v ...interface{}) {},
fatal: func(v ...interface{}) {},
fatalf: func(format string, v ...interface{}) {},
fatalC: func(ctx context.Context, v ...interface{}) {},
fatalCf: func(ctx context.Context, format string, v ...interface{}) {},
info: func(v ...interface{}) {},
infof: func(format string, v ...interface{}) {},
infoC: func(ctx context.Context, v ...interface{}) {},
infoCf: func(ctx context.Context, format string, v ...interface{}) {},
print: func(v ...interface{}) {},
printf: func(format string, v ...interface{}) {},
warn: func(v ...interface{}) {},
warnf: func(format string, v ...interface{}) {},
warnC: func(ctx context.Context, v ...interface{}) {},
warnCf: func(ctx context.Context, format string, v ...interface{}) {},
}
l.writeC = func(ctx context.Context, lv LoggerLevel, v ...interface{}) {
switch lv {
case LoggerLevelDebug:
l.debugC(ctx, v...)
case LoggerLevelError:
l.errorC(ctx, v...)
case LoggerLevelFatal:
l.fatalC(ctx, v...)
case LoggerLevelWarn:
l.warnC(ctx, v...)
default:
l.infoC(ctx, v...)
}
}
l.writeCf = func(ctx context.Context, lv LoggerLevel, format string, v ...interface{}) {
switch lv {
case LoggerLevelDebug:
l.debugCf(ctx, format, v...)
case LoggerLevelError:
l.errorCf(ctx, format, v...)
case LoggerLevelFatal:
l.fatalCf(ctx, format, v...)
case LoggerLevelWarn:
l.warnCf(ctx, format, v...)
default:
l.infoCf(ctx, format, v...)
}
}
l.writef = func(lv LoggerLevel, format string, v ...interface{}) {
switch lv {
case LoggerLevelDebug:
l.debugf(format, v...)
case LoggerLevelError:
l.errorf(format, v...)
case LoggerLevelFatal:
l.fatalf(format, v...)
case LoggerLevelWarn:
l.warnf(format, v...)
default:
l.infof(format, v...)
}
}
return l
}
func (l *completeLogger) Debug(v ...interface{}) { l.debug(v...) }
@@ -245,16 +111,6 @@ func (l *completeLogger) WarnC(ctx context.Context, v ...interface{}) { l.warnC(
func (l *completeLogger) WarnCf(ctx context.Context, format string, v ...interface{}) {
l.warnCf(ctx, format, v...)
}
func (l *completeLogger) Write(lv LoggerLevel, v ...interface{}) { l.write(lv, v...) }
func (l *completeLogger) Writef(lv LoggerLevel, format string, v ...interface{}) {
l.writef(lv, format, v...)
}
func (l *completeLogger) WriteC(ctx context.Context, lv LoggerLevel, v ...interface{}) {
l.writeC(ctx, lv, v...)
}
func (l *completeLogger) WriteCf(ctx context.Context, lv LoggerLevel, format string, v ...interface{}) {
l.writeCf(ctx, lv, format, v...)
}
// AdaptStdLogger transforms an StdLogger into a CompleteLogger if needed
func AdaptStdLogger(i StdLogger) CompleteLogger {
@@ -278,6 +134,15 @@ func AdaptStdLogger(i StdLogger) CompleteLogger {
l.infof = v.Infof
l.warn = v.Warn
l.warnf = v.Warnf
} else {
l.debug = l.print
l.debugf = l.printf
l.error = l.print
l.errorf = l.printf
l.info = l.print
l.infof = l.printf
l.warn = l.print
l.warnf = l.printf
}
if v, ok := i.(SeverityCtxLogger); ok {
l.debugC = v.DebugC
@@ -290,38 +155,17 @@ func AdaptStdLogger(i StdLogger) CompleteLogger {
l.infoCf = v.InfoCf
l.warnC = v.WarnC
l.warnCf = v.WarnCf
}
if v, ok := i.(SeverityWriteLogger); ok {
l.write = v.Write
l.writef = v.Writef
}
if v, ok := i.(SeverityWriteCtxLogger); ok {
l.writeC = v.WriteC
l.writeCf = v.WriteCf
} else {
l.debugC = func(ctx context.Context, v ...interface{}) { l.debug(v...) }
l.debugCf = func(ctx context.Context, format string, v ...interface{}) { l.debugf(format, v...) }
l.errorC = func(ctx context.Context, v ...interface{}) { l.error(v...) }
l.errorCf = func(ctx context.Context, format string, v ...interface{}) { l.errorf(format, v...) }
l.fatalC = func(ctx context.Context, v ...interface{}) { l.fatal(v...) }
l.fatalCf = func(ctx context.Context, format string, v ...interface{}) { l.fatalf(format, v...) }
l.infoC = func(ctx context.Context, v ...interface{}) { l.info(v...) }
l.infoCf = func(ctx context.Context, format string, v ...interface{}) { l.infof(format, v...) }
l.warnC = func(ctx context.Context, v ...interface{}) { l.warn(v...) }
l.warnCf = func(ctx context.Context, format string, v ...interface{}) { l.warnf(format, v...) }
}
return l
}
// AdaptTestLogger transforms a TestLogger into a CompleteLogger if needed
func AdaptTestLogger(i TestLogger) CompleteLogger {
if v, ok := i.(CompleteLogger); ok {
return v
}
l := newCompleteLogger()
if i == nil {
return l
}
l.error = i.Error
l.errorf = i.Errorf
l.fatal = i.Fatal
l.fatalf = i.Fatalf
l.print = i.Log
l.printf = i.Logf
l.debug = l.print
l.debugf = l.printf
l.info = l.print
l.infof = l.printf
l.warn = l.print
l.warnf = l.printf
return l
}