1
0
mirror of https://github.com/rancher/os.git synced 2025-06-27 07:16:48 +00:00
os/log/showuserlog.go
Sven Dowideit 4df962d4b6 make ros log to dmesg
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
2016-11-30 10:51:30 +10:00

41 lines
778 B
Go

package log
import (
"fmt"
"github.com/Sirupsen/logrus"
"os"
)
// ShowuserlogHook writes all levels of logrus entries to a file for later analysis
type ShowuserlogHook struct {
Level logrus.Level
}
func NewShowuserlogHook(l logrus.Level) (*ShowuserlogHook, error) {
return &ShowuserlogHook{l}, nil
}
func (hook *ShowuserlogHook) Fire(entry *logrus.Entry) error {
line, err := entry.String()
if err != nil {
fmt.Fprintf(os.Stderr, "Unable to read entry, %v", err)
return err
}
if entry.Level <= hook.Level {
fmt.Printf("> %s", line)
}
return nil
}
func (hook *ShowuserlogHook) Levels() []logrus.Level {
return []logrus.Level{
logrus.DebugLevel,
logrus.InfoLevel,
logrus.WarnLevel,
logrus.ErrorLevel,
logrus.FatalLevel,
logrus.PanicLevel,
}
}