diff options
Diffstat (limited to 'internal/tlog/log.go')
-rw-r--r-- | internal/tlog/log.go | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/internal/tlog/log.go b/internal/tlog/log.go index bd8844b..720bb88 100644 --- a/internal/tlog/log.go +++ b/internal/tlog/log.go @@ -6,6 +6,7 @@ import ( "encoding/json" "fmt" "log" + "log/syslog" "os" "golang.org/x/crypto/ssh/terminal" @@ -117,3 +118,27 @@ func init() { postfix: ColorReset, } } + +// SwitchToSyslog redirects the output of this logger to syslog. +func (l *toggledLogger) SwitchToSyslog(p syslog.Priority) { + w, err := syslog.New(p, ProgramName) + if err != nil { + Warn.Printf("SwitchToSyslog: %v", err) + } else { + l.SetOutput(w) + } +} + +// SwitchLoggerToSyslog redirects the default log.Logger that the go-fuse lib uses +// to syslog. +func SwitchLoggerToSyslog(p syslog.Priority) { + w, err := syslog.New(p, ProgramName) + if err != nil { + Warn.Printf("SwitchLoggerToSyslog: %v", err) + } else { + log.SetPrefix("go-fuse: ") + // Disable printing the timestamp, syslog already provides that + log.SetFlags(0) + log.SetOutput(w) + } +} |