feat: custom tracing keys
This commit is contained in:
@@ -65,6 +65,41 @@ No breaking changes will be made to exported APIs before v2.0.0.
|
|||||||
|
|
||||||
## 💡 Usage
|
## 💡 Usage
|
||||||
|
|
||||||
|
### Handler options
|
||||||
|
|
||||||
|
```go
|
||||||
|
type Config struct {
|
||||||
|
DefaultLevel slog.Level
|
||||||
|
ClientErrorLevel slog.Level
|
||||||
|
ServerErrorLevel slog.Level
|
||||||
|
|
||||||
|
WithUserAgent bool
|
||||||
|
WithRequestID bool
|
||||||
|
WithRequestBody bool
|
||||||
|
WithRequestHeader bool
|
||||||
|
WithResponseBody bool
|
||||||
|
WithResponseHeader bool
|
||||||
|
WithSpanID bool
|
||||||
|
WithTraceID bool
|
||||||
|
|
||||||
|
Filters []Filter
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
Attributes will be injected in log payload.
|
||||||
|
|
||||||
|
Other global parameters:
|
||||||
|
|
||||||
|
```go
|
||||||
|
sloggin.TraceIDKey = "trace-id"
|
||||||
|
sloggin.SpanIDKey = "span-id"
|
||||||
|
sloggin.RequestBodyMaxSize = 64 * 1024 // 64KB
|
||||||
|
sloggin.ResponseBodyMaxSize = 64 * 1024 // 64KB
|
||||||
|
sloggin.HiddenRequestHeaders = map[string]struct{}{ ... }
|
||||||
|
sloggin.HiddenResponseHeaders = map[string]struct{}{ ... }
|
||||||
|
sloggin.RequestIDHeaderKey = "X-Request-Id"
|
||||||
|
```
|
||||||
|
|
||||||
### Minimal
|
### Minimal
|
||||||
|
|
||||||
```go
|
```go
|
||||||
|
|||||||
+5
-2
@@ -18,6 +18,9 @@ const (
|
|||||||
)
|
)
|
||||||
|
|
||||||
var (
|
var (
|
||||||
|
TraceIDKey = "trace-id"
|
||||||
|
SpanIDKey = "span-id"
|
||||||
|
|
||||||
RequestBodyMaxSize = 64 * 1024 // 64KB
|
RequestBodyMaxSize = 64 * 1024 // 64KB
|
||||||
ResponseBodyMaxSize = 64 * 1024 // 64KB
|
ResponseBodyMaxSize = 64 * 1024 // 64KB
|
||||||
|
|
||||||
@@ -168,11 +171,11 @@ func NewWithConfig(logger *slog.Logger, config Config) gin.HandlerFunc {
|
|||||||
// otel
|
// otel
|
||||||
if config.WithTraceID {
|
if config.WithTraceID {
|
||||||
traceID := trace.SpanFromContext(c.Request.Context()).SpanContext().TraceID().String()
|
traceID := trace.SpanFromContext(c.Request.Context()).SpanContext().TraceID().String()
|
||||||
baseAttributes = append(baseAttributes, slog.String("trace-id", traceID))
|
baseAttributes = append(baseAttributes, slog.String(TraceIDKey, traceID))
|
||||||
}
|
}
|
||||||
if config.WithSpanID {
|
if config.WithSpanID {
|
||||||
spanID := trace.SpanFromContext(c.Request.Context()).SpanContext().SpanID().String()
|
spanID := trace.SpanFromContext(c.Request.Context()).SpanContext().SpanID().String()
|
||||||
baseAttributes = append(baseAttributes, slog.String("span-id", spanID))
|
baseAttributes = append(baseAttributes, slog.String(SpanIDKey, spanID))
|
||||||
}
|
}
|
||||||
|
|
||||||
// request body
|
// request body
|
||||||
|
|||||||
Reference in New Issue
Block a user