garm/vendor/github.com/lxc/lxd/shared/logger/syslog_linux.go
Gabriel Adrian Samfira c61b7fd268
Update go modules
Signed-off-by: Gabriel Adrian Samfira <gsamfira@cloudbasesolutions.com>
2023-03-12 16:22:37 +02:00

38 lines
703 B
Go

//go:build linux
package logger
import (
"log/syslog"
"github.com/sirupsen/logrus"
lSyslog "github.com/sirupsen/logrus/hooks/syslog"
)
type syslogHandler struct {
handler logrus.Hook
}
func (h syslogHandler) Fire(entry *logrus.Entry) error {
return h.handler.Fire(entry)
}
func (h syslogHandler) Levels() []logrus.Level {
return []logrus.Level{
logrus.PanicLevel,
logrus.FatalLevel,
logrus.ErrorLevel,
logrus.WarnLevel,
logrus.InfoLevel,
}
}
func setupSyslog(logger *logrus.Logger, syslogName string) error {
syslogHook, err := lSyslog.NewSyslogHook("", "", syslog.LOG_INFO, syslogName)
if err != nil {
return err
}
logger.AddHook(syslogHandler{syslogHook})
return nil
}