mirror of https://github.com/go-co-op/gocron.git
don't touch global logger in log tests
This commit is contained in:
parent
28c482dab5
commit
9a3fd98dcc
16
logger.go
16
logger.go
|
|
@ -4,6 +4,7 @@ package gocron
|
|||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"strings"
|
||||
)
|
||||
|
||||
|
|
@ -43,40 +44,45 @@ const (
|
|||
)
|
||||
|
||||
type logger struct {
|
||||
log *log.Logger
|
||||
level LogLevel
|
||||
}
|
||||
|
||||
// NewLogger returns a new Logger that logs at the given level.
|
||||
func NewLogger(level LogLevel) Logger {
|
||||
return &logger{level: level}
|
||||
l := log.New(os.Stdout, "", log.LstdFlags)
|
||||
return &logger{
|
||||
log: l,
|
||||
level: level,
|
||||
}
|
||||
}
|
||||
|
||||
func (l *logger) Debug(msg string, args ...any) {
|
||||
if l.level < LogLevelDebug {
|
||||
return
|
||||
}
|
||||
log.Printf("DEBUG: %s%s\n", msg, logFormatArgs(args...))
|
||||
l.log.Printf("DEBUG: %s%s\n", msg, logFormatArgs(args...))
|
||||
}
|
||||
|
||||
func (l *logger) Error(msg string, args ...any) {
|
||||
if l.level < LogLevelError {
|
||||
return
|
||||
}
|
||||
log.Printf("ERROR: %s%s\n", msg, logFormatArgs(args...))
|
||||
l.log.Printf("ERROR: %s%s\n", msg, logFormatArgs(args...))
|
||||
}
|
||||
|
||||
func (l *logger) Info(msg string, args ...any) {
|
||||
if l.level < LogLevelInfo {
|
||||
return
|
||||
}
|
||||
log.Printf("INFO: %s%s\n", msg, logFormatArgs(args...))
|
||||
l.log.Printf("INFO: %s%s\n", msg, logFormatArgs(args...))
|
||||
}
|
||||
|
||||
func (l *logger) Warn(msg string, args ...any) {
|
||||
if l.level < LogLevelWarn {
|
||||
return
|
||||
}
|
||||
log.Printf("WARN: %s%s\n", msg, logFormatArgs(args...))
|
||||
l.log.Printf("WARN: %s%s\n", msg, logFormatArgs(args...))
|
||||
}
|
||||
|
||||
func logFormatArgs(args ...any) string {
|
||||
|
|
|
|||
|
|
@ -47,8 +47,10 @@ func TestNewLogger(t *testing.T) {
|
|||
for _, tt := range tests {
|
||||
t.Run(tt.name, func(t *testing.T) {
|
||||
var results bytes.Buffer
|
||||
log.SetOutput(&results)
|
||||
l := NewLogger(tt.level)
|
||||
l := &logger{
|
||||
level: tt.level,
|
||||
log: log.New(&results, "", log.LstdFlags),
|
||||
}
|
||||
|
||||
var noArgs []any
|
||||
oneArg := []any{"arg1"}
|
||||
|
|
|
|||
Loading…
Reference in New Issue