Browse Source

embed: do not import journald dependencies on windows

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
Gyuho Lee 7 years ago
parent
commit
154e2ac38e
3 changed files with 56 additions and 1 deletions
  1. 1 1
      embed/config.go
  2. 28 0
      embed/journald_unix.go
  3. 27 0
      embed/journald_windows.go

+ 1 - 1
embed/config.go

@@ -582,7 +582,7 @@ func (cfg *Config) setupLogging() error {
 			}
 		} else {
 			// use stderr as fallback
-			syncer := zapcore.AddSync(logutil.NewJournaldWriter(os.Stderr))
+			syncer := getZapWriteSyncer()
 			lvl := zap.NewAtomicLevelAt(zap.InfoLevel)
 			if cfg.Debug {
 				lvl = zap.NewAtomicLevelAt(zap.DebugLevel)

+ 28 - 0
embed/journald_unix.go

@@ -0,0 +1,28 @@
+// Copyright 2018 The etcd Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// +build !windows
+
+package embed
+
+import (
+	"os"
+
+	"github.com/coreos/etcd/pkg/logutil"
+	"go.uber.org/zap/zapcore"
+)
+
+func getZapWriteSyncer() zapcore.WriteSyncer {
+	return zapcore.AddSync(logutil.NewJournaldWriter(os.Stderr))
+}

+ 27 - 0
embed/journald_windows.go

@@ -0,0 +1,27 @@
+// Copyright 2018 The etcd Authors
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+// +build windows
+
+package embed
+
+import (
+	"os"
+
+	"go.uber.org/zap/zapcore"
+)
+
+func getZapWriteSyncer() zapcore.WriteSyncer {
+	return zapcore.AddSync(os.Stderr)
+}