aboutsummaryrefslogtreecommitdiff
path: root/internal/tlog/log.go
diff options
context:
space:
mode:
authorJakob Unterwurzacher2017-03-05 17:44:14 +0100
committerJakob Unterwurzacher2017-03-05 17:44:14 +0100
commit966308eeb7793a4a8ca578e160981e3b059b82e6 (patch)
tree36b0b6d192b26b7c3addcd74bbc566a40736773c /internal/tlog/log.go
parente6461634422e7713d1863b416934297a8f6c4244 (diff)
Drop Go 1.4 compatability code everywhere
Yields a nice reduction in code size.
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)
+ }
+}