mirror of
https://github.com/Fishwaldo/sched.git
synced 2025-03-15 11:31:29 +00:00
91 lines
2.3 KiB
Go
91 lines
2.3 KiB
Go
package sched
|
|
|
|
import (
|
|
"github.com/sirupsen/logrus"
|
|
)
|
|
|
|
type lruLogger struct {
|
|
jl *logrus.Entry
|
|
}
|
|
|
|
func (l *lruLogger) Debugw(msg string, keysAndValues ...interface{}) {
|
|
logger := l.jl
|
|
for i := 0; i < len(keysAndValues); i++ {
|
|
if i%2 == 0 {
|
|
logger = logger.WithField(keysAndValues[i].(string), keysAndValues[i+1])
|
|
}
|
|
}
|
|
logger.Debug(msg)
|
|
}
|
|
func (l lruLogger) Errorw(msg string, keysAndValues ...interface{}) {
|
|
logger := l.jl
|
|
for i := 0; i < len(keysAndValues); i++ {
|
|
if i%2 == 0 {
|
|
logger = logger.WithField(keysAndValues[i].(string), keysAndValues[i+1])
|
|
}
|
|
}
|
|
logger.Error(msg)
|
|
}
|
|
func (l lruLogger) Fatalw(msg string, keysAndValues ...interface{}) {
|
|
logger := l.jl
|
|
for i := 0; i < len(keysAndValues); i++ {
|
|
if i%2 == 0 {
|
|
logger = logger.WithField(keysAndValues[i].(string), keysAndValues[i+1])
|
|
}
|
|
}
|
|
logger.Fatal(msg)
|
|
}
|
|
func (l lruLogger) Infow(msg string, keysAndValues ...interface{}) {
|
|
logger := l.jl
|
|
for i := 0; i < len(keysAndValues); i++ {
|
|
if i%2 == 0 {
|
|
logger = logger.WithField(keysAndValues[i].(string), keysAndValues[i+1])
|
|
}
|
|
}
|
|
logger.Info(msg)
|
|
}
|
|
func (l lruLogger) Panicw(msg string, keysAndValues ...interface{}) {
|
|
logger := l.jl
|
|
for i := 0; i < len(keysAndValues); i++ {
|
|
if i%2 == 0 {
|
|
logger = logger.WithField(keysAndValues[i].(string), keysAndValues[i+1])
|
|
}
|
|
}
|
|
logger.Panic(msg)
|
|
}
|
|
func (l lruLogger) Warnw(msg string, keysAndValues ...interface{}) {
|
|
logger := l.jl
|
|
for i := 0; i < len(keysAndValues); i++ {
|
|
if i%2 == 0 {
|
|
logger = logger.WithField(keysAndValues[i].(string), keysAndValues[i+1])
|
|
}
|
|
}
|
|
logger.Warn(msg)
|
|
}
|
|
func (l *lruLogger) With(args ...interface{}) Logger {
|
|
for i := 0; i < len(args); i++ {
|
|
if i%2 == 0 {
|
|
l.jl = l.jl.WithField(args[i].(string), args[i+1])
|
|
}
|
|
}
|
|
return l
|
|
}
|
|
func (l lruLogger) Named(name string) Logger {
|
|
logger := l.jl.WithField("From", name)
|
|
return &lruLogger{jl: logger}
|
|
}
|
|
func (l *lruLogger) Sync() error {
|
|
return nil
|
|
}
|
|
|
|
//LogrusDefaultLogger Return Logger based on logrus with new instance
|
|
func LogrusDefaultLogger() Logger {
|
|
// TODO control verbosity
|
|
return &lruLogger{jl: logrus.NewEntry(logrus.New())}
|
|
}
|
|
|
|
//LogrusLogger Return Return Logger based on logrus with existing instance
|
|
func LogrusLogger(log *logrus.Logger) Logger {
|
|
// TODO control verbosity
|
|
return &lruLogger{jl: logrus.NewEntry(log)}
|
|
}
|