mirror of
https://github.com/etcd-io/etcd.git
synced 2024-09-27 06:25:44 +00:00
Merge pull request #13049 from mumuhhh/main
[Fix] --log-outputs relative path are not supported when --log-rotate-config-json is defined
This commit is contained in:
commit
940d1e1ec5
@ -87,7 +87,11 @@ func (cfg *Config) setupLogging() error {
|
||||
var path string
|
||||
if cfg.EnableLogRotation {
|
||||
// append rotate scheme to logs managed by lumberjack log rotation
|
||||
path = fmt.Sprintf("rotate:%s", v)
|
||||
if v[0:1] == "/" {
|
||||
path = fmt.Sprintf("rotate:/%%2F%s", v[1:])
|
||||
} else {
|
||||
path = fmt.Sprintf("rotate:/%s", v)
|
||||
}
|
||||
} else {
|
||||
path = v
|
||||
}
|
||||
@ -254,7 +258,7 @@ func setupLogRotation(logOutputs []string, logRotateConfigJSON string) error {
|
||||
}
|
||||
}
|
||||
zap.RegisterSink("rotate", func(u *url.URL) (zap.Sink, error) {
|
||||
logRotationConfig.Filename = u.Path
|
||||
logRotationConfig.Filename = u.Path[1:]
|
||||
return &logRotationConfig, nil
|
||||
})
|
||||
return nil
|
||||
|
@ -311,6 +311,11 @@ func TestLogRotation(t *testing.T) {
|
||||
logOutputs: []string{"stderr", "/tmp/path"},
|
||||
logRotationConfig: `{"maxsize": 1}`,
|
||||
},
|
||||
{
|
||||
name: "log output relative path",
|
||||
logOutputs: []string{"stderr", "tmp/path"},
|
||||
logRotationConfig: `{"maxsize": 1}`,
|
||||
},
|
||||
{
|
||||
name: "no file targets",
|
||||
logOutputs: []string{"stderr"},
|
||||
@ -368,6 +373,9 @@ func TestLogRotation(t *testing.T) {
|
||||
if err == nil && tt.wantErr {
|
||||
t.Errorf("test %q, expected error, got nil", tt.name)
|
||||
}
|
||||
if err == nil {
|
||||
cfg.GetLogger().Info("test log")
|
||||
}
|
||||
})
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user