From 5a61dc800861567e4d24152a788e6e3787f507f8 Mon Sep 17 00:00:00 2001 From: Gyuho Lee Date: Wed, 16 May 2018 14:25:10 -0700 Subject: [PATCH] embed: error when it cannot find journal socket Signed-off-by: Gyuho Lee --- embed/config_logging.go | 6 +++++- embed/config_logging_journald_unix.go | 9 +++++++-- embed/config_logging_journald_windows.go | 4 ++-- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/embed/config_logging.go b/embed/config_logging.go index cae94b987..4b5919c90 100644 --- a/embed/config_logging.go +++ b/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) diff --git a/embed/config_logging_journald_unix.go b/embed/config_logging_journald_unix.go index c58ef9ca0..8e5e2369f 100644 --- a/embed/config_logging_journald_unix.go +++ b/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 } diff --git a/embed/config_logging_journald_windows.go b/embed/config_logging_journald_windows.go index 4ee146d35..5b7625648 100644 --- a/embed/config_logging_journald_windows.go +++ b/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 }