diff options
author | Dave Henderson <dhenderson@gmail.com> | 2023-04-26 22:46:41 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-04-27 02:46:41 +0000 |
commit | f0e39817746903bb24948893348ae1cab67f1e46 (patch) | |
tree | 8cd863ea0dc3ede6b553eb298d214b29f8ef3bc6 /modules/caddyhttp/logging.go | |
parent | 1c9ea0113d007d57bb8f793ebe7a64a3dcad7bc7 (diff) |
logging: Add traceID field to access logs when tracing is active (#5507)
Co-authored-by: Francis Lavoie <lavofr@gmail.com>
Diffstat (limited to 'modules/caddyhttp/logging.go')
-rw-r--r-- | modules/caddyhttp/logging.go | 22 |
1 files changed, 19 insertions, 3 deletions
diff --git a/modules/caddyhttp/logging.go b/modules/caddyhttp/logging.go index 4faaec7..6bfeb51 100644 --- a/modules/caddyhttp/logging.go +++ b/modules/caddyhttp/logging.go @@ -20,6 +20,7 @@ import ( "net/http" "strings" + "github.com/caddyserver/caddy/v2" "go.uber.org/zap" "go.uber.org/zap/zapcore" ) @@ -139,6 +140,21 @@ func errLogValues(err error) (status int, msg string, fields []zapcore.Field) { return } -// Variable name used to indicate that this request -// should be omitted from the access logs -const SkipLogVar = "skip_log" +// ExtraLogFields is a list of extra fields to log with every request. +type ExtraLogFields struct { + fields []zapcore.Field +} + +// Add adds a field to the list of extra fields to log. +func (e *ExtraLogFields) Add(field zap.Field) { + e.fields = append(e.fields, field) +} + +const ( + // Variable name used to indicate that this request + // should be omitted from the access logs + SkipLogVar string = "skip_log" + + // For adding additional fields to the access logs + ExtraLogFieldsCtxKey caddy.CtxKey = "extra_log_fields" +) |