*: support --log-output=discard

Signed-off-by: Gyuho Lee <gyuhox@gmail.com>
This commit is contained in:
Gyuho Lee 2018-04-16 19:09:09 -07:00
parent 1c44293f7e
commit 18b3e45e96
6 changed files with 17 additions and 9 deletions

View File

@ -144,6 +144,7 @@ See [security doc](https://github.com/coreos/etcd/blob/master/Documentation/op-g
- e.g. `--logger=zap --log-output=default` will log server operations with [JSON-encoded format](TODO) and writes logs to `os.Stderr` (detect systemd journald TODO).
- e.g. `--logger=zap --log-output=stderr` will log server operations with [JSON-encoded format](TODO) and writes logs to `os.Stderr` (bypass journald TODO).
- e.g. `--logger=zap --log-output=stdout` will log server operations with [JSON-encoded format](TODO) and writes logs to `os.Stdout` (bypass journald TODO).
- e.g. `--logger=zap --log-output=discard` will discard all server logs.
### Added: `embed`

View File

@ -421,18 +421,25 @@ func (cfg *Config) setupLogging() error {
lcfg.OutputPaths = []string{"stderr"}
lcfg.ErrorOutputPaths = []string{"stderr"}
}
case "stderr":
lcfg.OutputPaths = []string{"stderr"}
lcfg.ErrorOutputPaths = []string{"stderr"}
case "stdout":
lcfg.OutputPaths = []string{"stdout"}
lcfg.ErrorOutputPaths = []string{"stdout"}
case "io-discard": // only for testing
case "discard": // only for testing
lcfg.OutputPaths = []string{}
lcfg.ErrorOutputPaths = []string{}
ignoreLog = true
default:
lcfg.OutputPaths = []string{cfg.LogOutput}
lcfg.ErrorOutputPaths = []string{cfg.LogOutput}
}
if cfg.Debug {
lcfg.Level = zap.NewAtomicLevelAt(zap.DebugLevel)
grpc.EnableTracing = true

View File

@ -41,7 +41,7 @@ func TestConfigFileOtherFields(t *testing.T) {
ptls,
true,
"zap",
"io-discard",
"discard",
false,
}
@ -157,7 +157,7 @@ func mustCreateCfgFile(t *testing.T, b []byte) *os.File {
func TestAutoCompactionModeInvalid(t *testing.T) {
cfg := NewConfig()
cfg.Logger = "zap"
cfg.LogOutput = "io-discard"
cfg.LogOutput = "discard"
cfg.Debug = false
cfg.AutoCompactionMode = "period"
err := cfg.Validate()

View File

@ -53,7 +53,7 @@ func TestEmbedEtcd(t *testing.T) {
for i := range tests {
tests[i].cfg = *embed.NewConfig()
tests[i].cfg.Logger = "zap"
tests[i].cfg.LogOutput = "io-discard"
tests[i].cfg.LogOutput = "discard"
tests[i].cfg.Debug = false
}
@ -180,7 +180,7 @@ func newEmbedURLs(secure bool, n int) (urls []url.URL) {
func setupEmbedCfg(cfg *embed.Config, curls []url.URL, purls []url.URL) {
cfg.Logger = "zap"
cfg.LogOutput = "io-discard"
cfg.LogOutput = "discard"
cfg.Debug = false
cfg.ClusterState = "new"

View File

@ -64,7 +64,7 @@ func TestSnapshotV3RestoreMultiMemberAdd(t *testing.T) {
cfg := embed.NewConfig()
cfg.Logger = "zap"
cfg.LogOutput = "io-discard"
cfg.LogOutput = "discard"
cfg.Debug = false
cfg.Name = "3"
cfg.InitialClusterToken = testClusterTkn

View File

@ -44,7 +44,7 @@ func TestSnapshotV3RestoreSingle(t *testing.T) {
cfg := embed.NewConfig()
cfg.Logger = "zap"
cfg.LogOutput = "io-discard"
cfg.LogOutput = "discard"
cfg.Debug = false
cfg.Name = "s1"
cfg.InitialClusterToken = testClusterTkn
@ -153,7 +153,7 @@ func createSnapshotFile(t *testing.T, kvs []kv) string {
cfg := embed.NewConfig()
cfg.Logger = "zap"
cfg.LogOutput = "io-discard"
cfg.LogOutput = "discard"
cfg.Debug = false
cfg.Name = "default"
cfg.ClusterState = "new"
@ -220,7 +220,7 @@ func restoreCluster(t *testing.T, clusterN int, dbPath string) (
for i := 0; i < clusterN; i++ {
cfg := embed.NewConfig()
cfg.Logger = "zap"
cfg.LogOutput = "io-discard"
cfg.LogOutput = "discard"
cfg.Debug = false
cfg.Name = fmt.Sprintf("%d", i)
cfg.InitialClusterToken = testClusterTkn