Browse Source

embed: error when it cannot find journal socket

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 7 years ago
parent
commit
5a61dc8008

+ 5 - 1
embed/config_logging.go

@@ -225,7 +225,11 @@ func (cfg *Config) setupLogging() error {
 			}
 
 			// use stderr as fallback
-			syncer := getZapWriteSyncer()
+			syncer, lerr := getJournalWriteSyncer()
+			if lerr != nil {
+				return lerr
+			}
+
 			lvl := zap.NewAtomicLevelAt(zap.InfoLevel)
 			if cfg.Debug {
 				lvl = zap.NewAtomicLevelAt(zap.DebugLevel)

+ 7 - 2
embed/config_logging_journald_unix.go

@@ -17,6 +17,7 @@
 package embed
 
 import (
+	"fmt"
 	"os"
 
 	"github.com/coreos/etcd/pkg/logutil"
@@ -25,6 +26,10 @@ import (
 )
 
 // use stderr as fallback
-func getZapWriteSyncer() zapcore.WriteSyncer {
-	return zapcore.AddSync(logutil.NewJournaldWriter(os.Stderr))
+func getJournalWriteSyncer() (zapcore.WriteSyncer, error) {
+	jw, err := logutil.NewJournaldWriter(os.Stderr)
+	if err != nil {
+		return nil, fmt.Errorf("can't find journald (%v)", err)
+	}
+	return zapcore.AddSync(jw), nil
 }

+ 2 - 2
embed/config_logging_journald_windows.go

@@ -22,6 +22,6 @@ import (
 	"go.uber.org/zap/zapcore"
 )
 
-func getZapWriteSyncer() zapcore.WriteSyncer {
-	return zapcore.AddSync(os.Stderr)
+func getJournalWriteSyncer() (zapcore.WriteSyncer, error) {
+	return zapcore.AddSync(os.Stderr), nil
 }