Improve ipvs input error strings and logging (#6530)

This commit is contained in:
Daniel Nelson
2019-10-21 21:27:05 -07:00
committed by GitHub
parent 82ba2cd52a
commit 17c4e0b06f
3 changed files with 44 additions and 5 deletions

View File

@@ -0,0 +1,35 @@
package logrus
import (
"io/ioutil"
"log"
"strings"
"sync"
"github.com/sirupsen/logrus"
)
var once sync.Once
type LogHook struct {
}
// Install a logging hook into the logrus standard logger, diverting all logs
// through the Telegraf logger at debug level. This is useful for libraries
// that directly log to the logrus system without providing an override method.
func InstallHook() {
once.Do(func() {
logrus.SetOutput(ioutil.Discard)
logrus.AddHook(&LogHook{})
})
}
func (h *LogHook) Fire(entry *logrus.Entry) error {
msg := strings.ReplaceAll(entry.Message, "\n", " ")
log.Print("D! [logrus] ", msg)
return nil
}
func (h *LogHook) Levels() []logrus.Level {
return logrus.AllLevels
}