summaryrefslogtreecommitdiff
path: root/internal/tlog/log.go
diff options
context:
space:
mode:
Diffstat (limited to 'internal/tlog/log.go')
-rw-r--r--internal/tlog/log.go25
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)
+ }
+}