From d9918c26dcadc5e744f5550ada8bca5b37e6f111 Mon Sep 17 00:00:00 2001 From: Francis Lavoie Date: Thu, 6 May 2021 00:43:12 -0400 Subject: [PATCH] logging: Prep for `common_log` removal See https://github.com/caddyserver/caddy/issues/4148#issuecomment-833207811 --- modules/caddyhttp/server.go | 3 +++ modules/logging/encoders.go | 2 ++ 2 files changed, 5 insertions(+) diff --git a/modules/caddyhttp/server.go b/modules/caddyhttp/server.go index 294ee6afda4..8084959409a 100644 --- a/modules/caddyhttp/server.go +++ b/modules/caddyhttp/server.go @@ -184,8 +184,11 @@ func (s *Server) ServeHTTP(w http.ResponseWriter, r *http.Request) { log = logger.Error } + userID, _ := repl.GetString("http.auth.user.id") + log("handled request", zap.String("common_log", repl.ReplaceAll(commonLogFormat, commonLogEmptyValue)), + zap.String("user_id", userID), zap.Duration("duration", duration), zap.Int("size", wrec.Size()), zap.Int("status", wrec.Status()), diff --git a/modules/logging/encoders.go b/modules/logging/encoders.go index ab68f5e3f78..beaa84bfcce 100644 --- a/modules/logging/encoders.go +++ b/modules/logging/encoders.go @@ -304,6 +304,8 @@ func (lec *LogEncoderConfig) ZapcoreEncoderConfig() zapcore.EncoderConfig { timeFormat = "2006/01/02 15:04:05.000" case "wall_nano": timeFormat = "2006/01/02 15:04:05.000000000" + case "common_log": + timeFormat = "02/Jan/2006:15:04:05 -0700" } timeFormatter = func(ts time.Time, encoder zapcore.PrimitiveArrayEncoder) { encoder.AppendString(ts.UTC().Format(timeFormat))