diff options
author | Francis Lavoie <lavofr@gmail.com> | 2022-10-04 23:18:48 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2022-10-04 21:18:48 -0600 |
commit | 01e192edc9e11ceb92dd02eb79efde087838831a (patch) | |
tree | 4619e57807f11525c54de260fdcccfc334879628 /modules | |
parent | 2808de1e30b873f9c8f4693eae59bd56f20ebbbe (diff) |
logging: Better `console` encoder defaults (#5109)
This is something that has bothered me for a while, so I figured I'd do something about it now since I'm playing in the logging code lately.
The `console` encoder doesn't actually match the defaults that zap's default logger uses. This makes it match better with the rest of the logs when using the `console` encoder alongside somekind of filter, which requires you to configure an encoder to wrap.
Diffstat (limited to 'modules')
-rw-r--r-- | modules/logging/encoders.go | 43 |
1 files changed, 24 insertions, 19 deletions
diff --git a/modules/logging/encoders.go b/modules/logging/encoders.go index 38083db..d8825d3 100644 --- a/modules/logging/encoders.go +++ b/modules/logging/encoders.go @@ -45,15 +45,21 @@ func (ConsoleEncoder) CaddyModule() caddy.ModuleInfo { // Provision sets up the encoder. func (ce *ConsoleEncoder) Provision(_ caddy.Context) error { + if ce.LevelFormat == "" { + ce.LevelFormat = "color" + } + if ce.TimeFormat == "" { + ce.TimeFormat = "wall_milli" + } ce.Encoder = zapcore.NewConsoleEncoder(ce.ZapcoreEncoderConfig()) return nil } // UnmarshalCaddyfile sets up the module from Caddyfile tokens. Syntax: // -// console { -// <common encoder config subdirectives...> -// } +// console { +// <common encoder config subdirectives...> +// } // // See the godoc on the LogEncoderConfig type for the syntax of // subdirectives that are common to most/all encoders. @@ -92,9 +98,9 @@ func (je *JSONEncoder) Provision(_ caddy.Context) error { // UnmarshalCaddyfile sets up the module from Caddyfile tokens. Syntax: // -// json { -// <common encoder config subdirectives...> -// } +// json { +// <common encoder config subdirectives...> +// } // // See the godoc on the LogEncoderConfig type for the syntax of // subdirectives that are common to most/all encoders. @@ -127,19 +133,18 @@ type LogEncoderConfig struct { // UnmarshalCaddyfile populates the struct from Caddyfile tokens. Syntax: // -// { -// message_key <key> -// level_key <key> -// time_key <key> -// name_key <key> -// caller_key <key> -// stacktrace_key <key> -// line_ending <char> -// time_format <format> -// duration_format <format> -// level_format <format> -// } -// +// { +// message_key <key> +// level_key <key> +// time_key <key> +// name_key <key> +// caller_key <key> +// stacktrace_key <key> +// line_ending <char> +// time_format <format> +// duration_format <format> +// level_format <format> +// } func (lec *LogEncoderConfig) UnmarshalCaddyfile(d *caddyfile.Dispenser) error { for nesting := d.Nesting(); d.NextBlock(nesting); { subdir := d.Val() |