Merge pull request #9577 from gyuho/null

*: use /dev/null to discard server logs
This commit is contained in:
Gyuho Lee 2018-04-17 10:33:52 -07:00 committed by GitHub
commit 41b855a48e
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 10 additions and 20 deletions

View File

@ -144,7 +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=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=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=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. - e.g. `--logger=zap --log-output=/dev/null` will discard all server logs.
### Added: `embed` ### Added: `embed`

View File

@ -405,7 +405,6 @@ func (cfg *Config) setupLogging() error {
Encoding: "json", Encoding: "json",
EncoderConfig: zap.NewProductionEncoderConfig(), EncoderConfig: zap.NewProductionEncoderConfig(),
} }
ignoreLog := false
switch cfg.LogOutput { switch cfg.LogOutput {
case DefaultLogOutput: case DefaultLogOutput:
if syscall.Getppid() == 1 { if syscall.Getppid() == 1 {
@ -430,11 +429,6 @@ func (cfg *Config) setupLogging() error {
lcfg.OutputPaths = []string{"stdout"} lcfg.OutputPaths = []string{"stdout"}
lcfg.ErrorOutputPaths = []string{"stdout"} lcfg.ErrorOutputPaths = []string{"stdout"}
case "discard": // only for testing
lcfg.OutputPaths = []string{}
lcfg.ErrorOutputPaths = []string{}
ignoreLog = true
default: default:
lcfg.OutputPaths = []string{cfg.LogOutput} lcfg.OutputPaths = []string{cfg.LogOutput}
lcfg.ErrorOutputPaths = []string{cfg.LogOutput} lcfg.ErrorOutputPaths = []string{cfg.LogOutput}
@ -446,11 +440,7 @@ func (cfg *Config) setupLogging() error {
} }
var err error var err error
if !ignoreLog { cfg.logger, err = lcfg.Build()
cfg.logger, err = lcfg.Build()
} else {
cfg.logger = zap.NewNop()
}
if err != nil { if err != nil {
return err return err
} }

View File

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

View File

@ -53,7 +53,7 @@ func TestEmbedEtcd(t *testing.T) {
for i := range tests { for i := range tests {
tests[i].cfg = *embed.NewConfig() tests[i].cfg = *embed.NewConfig()
tests[i].cfg.Logger = "zap" tests[i].cfg.Logger = "zap"
tests[i].cfg.LogOutput = "discard" tests[i].cfg.LogOutput = "/dev/null"
tests[i].cfg.Debug = false 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) { func setupEmbedCfg(cfg *embed.Config, curls []url.URL, purls []url.URL) {
cfg.Logger = "zap" cfg.Logger = "zap"
cfg.LogOutput = "discard" cfg.LogOutput = "/dev/null"
cfg.Debug = false cfg.Debug = false
cfg.ClusterState = "new" cfg.ClusterState = "new"

View File

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

View File

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