summaryrefslogtreecommitdiff
path: root/modules/logging
diff options
context:
space:
mode:
authorFrancis Lavoie <lavofr@gmail.com>2022-10-04 23:18:48 -0400
committerGitHub <noreply@github.com>2022-10-04 21:18:48 -0600
commit01e192edc9e11ceb92dd02eb79efde087838831a (patch)
tree4619e57807f11525c54de260fdcccfc334879628 /modules/logging
parent2808de1e30b873f9c8f4693eae59bd56f20ebbbe (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/logging')
-rw-r--r--modules/logging/encoders.go43
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()