mirror of
https://github.com/caddyserver/caddy.git
synced 2026-05-13 09:06:41 +00:00
logging: preserve ts for journald-wrapped JSON logs (#7644)
This commit is contained in:
parent
1a3e900b35
commit
0c7c91a447
2 changed files with 9 additions and 12 deletions
|
|
@ -81,7 +81,7 @@ func (je *JournaldEncoder) Provision(ctx caddy.Context) error {
|
|||
je.Encoder = val.(zapcore.Encoder)
|
||||
}
|
||||
|
||||
suppressEncoderTimestamp(je.Encoder)
|
||||
suppressConsoleEncoderTimestamp(je.Encoder)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
@ -106,7 +106,7 @@ func (je *JournaldEncoder) ConfigureDefaultFormat(wo caddy.WriterOpener) error {
|
|||
}
|
||||
}
|
||||
|
||||
suppressEncoderTimestamp(je.Encoder)
|
||||
suppressConsoleEncoderTimestamp(je.Encoder)
|
||||
|
||||
return nil
|
||||
}
|
||||
|
|
@ -194,22 +194,19 @@ func journaldPriorityPrefix(level zapcore.Level) string {
|
|||
}
|
||||
}
|
||||
|
||||
func suppressEncoderTimestamp(enc zapcore.Encoder) {
|
||||
func suppressConsoleEncoderTimestamp(enc zapcore.Encoder) {
|
||||
empty := ""
|
||||
|
||||
switch e := enc.(type) {
|
||||
case *ConsoleEncoder:
|
||||
e.TimeKey = &empty
|
||||
_ = e.Provision(caddy.Context{})
|
||||
case *JSONEncoder:
|
||||
e.TimeKey = &empty
|
||||
_ = e.Provision(caddy.Context{})
|
||||
case *AppendEncoder:
|
||||
suppressEncoderTimestamp(e.wrapped)
|
||||
suppressConsoleEncoderTimestamp(e.wrapped)
|
||||
case *FilterEncoder:
|
||||
suppressEncoderTimestamp(e.wrapped)
|
||||
suppressConsoleEncoderTimestamp(e.wrapped)
|
||||
case *JournaldEncoder:
|
||||
suppressEncoderTimestamp(e.Encoder)
|
||||
suppressConsoleEncoderTimestamp(e.Encoder)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ journald {
|
|||
}
|
||||
}
|
||||
|
||||
func TestJournaldEncoderSuppressesJSONTimestamp(t *testing.T) {
|
||||
func TestJournaldEncoderPreservesJSONTimestamp(t *testing.T) {
|
||||
enc := &JournaldEncoder{
|
||||
Encoder: &JSONEncoder{},
|
||||
}
|
||||
|
|
@ -108,8 +108,8 @@ func TestJournaldEncoderSuppressesJSONTimestamp(t *testing.T) {
|
|||
defer buf.Free()
|
||||
|
||||
got := buf.String()
|
||||
if strings.Contains(got, `"ts"`) {
|
||||
t.Fatalf("got JSON output with ts field: %q", got)
|
||||
if !strings.Contains(got, `"ts"`) {
|
||||
t.Fatalf("got JSON output without ts field: %q", got)
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue