mirror of
https://github.com/caddyserver/caddy.git
synced 2026-04-19 23:48:46 -04:00
logging: preserve ts for journald-wrapped JSON logs (#7644)
Some checks failed
Tests / test (s390x on IBM Z) (push) Has been skipped
Tests / goreleaser-check (push) Has been skipped
Cross-Build / build (~1.26.0, 1.26, aix) (push) Failing after 4s
Cross-Build / build (~1.26.0, 1.26, darwin) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, dragonfly) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, freebsd) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, illumos) (push) Failing after 2s
Cross-Build / build (~1.26.0, 1.26, linux) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, netbsd) (push) Failing after 2s
Cross-Build / build (~1.26.0, 1.26, openbsd) (push) Failing after 1s
Cross-Build / build (~1.26.0, 1.26, solaris) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, windows) (push) Failing after 1s
Lint / lint (ubuntu-latest, linux) (push) Failing after 4s
Lint / govulncheck (push) Failing after 9s
Lint / dependency-review (push) Failing after 10s
OpenSSF Scorecard supply-chain security / Scorecard analysis (push) Failing after 3s
Tests / test (./cmd/caddy/caddy, ~1.26.0, ubuntu-latest, 0, 1.26, linux) (push) Failing after 2m6s
Tests / test (./cmd/caddy/caddy, ~1.26.0, macos-14, 0, 1.26, mac) (push) Has been cancelled
Tests / test (./cmd/caddy/caddy.exe, ~1.26.0, windows-latest, True, 1.26, windows) (push) Has been cancelled
Lint / lint (macos-14, mac) (push) Has been cancelled
Lint / lint (windows-latest, windows) (push) Has been cancelled
Some checks failed
Tests / test (s390x on IBM Z) (push) Has been skipped
Tests / goreleaser-check (push) Has been skipped
Cross-Build / build (~1.26.0, 1.26, aix) (push) Failing after 4s
Cross-Build / build (~1.26.0, 1.26, darwin) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, dragonfly) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, freebsd) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, illumos) (push) Failing after 2s
Cross-Build / build (~1.26.0, 1.26, linux) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, netbsd) (push) Failing after 2s
Cross-Build / build (~1.26.0, 1.26, openbsd) (push) Failing after 1s
Cross-Build / build (~1.26.0, 1.26, solaris) (push) Failing after 3s
Cross-Build / build (~1.26.0, 1.26, windows) (push) Failing after 1s
Lint / lint (ubuntu-latest, linux) (push) Failing after 4s
Lint / govulncheck (push) Failing after 9s
Lint / dependency-review (push) Failing after 10s
OpenSSF Scorecard supply-chain security / Scorecard analysis (push) Failing after 3s
Tests / test (./cmd/caddy/caddy, ~1.26.0, ubuntu-latest, 0, 1.26, linux) (push) Failing after 2m6s
Tests / test (./cmd/caddy/caddy, ~1.26.0, macos-14, 0, 1.26, mac) (push) Has been cancelled
Tests / test (./cmd/caddy/caddy.exe, ~1.26.0, windows-latest, True, 1.26, windows) (push) Has been cancelled
Lint / lint (macos-14, mac) (push) Has been cancelled
Lint / lint (windows-latest, windows) (push) Has been cancelled
This commit is contained in:
parent
1a3e900b35
commit
0c7c91a447
@ -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…
x
Reference in New Issue
Block a user