mirror of
https://github.com/go-kratos/kratos.git
synced 2025-02-05 13:15:11 +02:00
add default tracer valuer
This commit is contained in:
parent
4860f42637
commit
08d4db2c0c
14
log/value.go
14
log/value.go
@ -6,6 +6,8 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"go.opentelemetry.io/otel/trace"
|
||||
)
|
||||
|
||||
var (
|
||||
@ -46,6 +48,18 @@ func Timestamp(layout string) Valuer {
|
||||
}
|
||||
}
|
||||
|
||||
// TraceID returns a traceid valuer.
|
||||
func TraceID() Valuer {
|
||||
return func(ctx context.Context) interface{} {
|
||||
span := trace.SpanContextFromContext(ctx)
|
||||
var traceID string
|
||||
if span.HasTraceID() {
|
||||
traceID = span.TraceID().String()
|
||||
}
|
||||
return traceID
|
||||
}
|
||||
}
|
||||
|
||||
func bindValues(ctx context.Context, keyvals []interface{}) {
|
||||
for i := 1; i < len(keyvals); i += 2 {
|
||||
if v, ok := keyvals[i].(Valuer); ok {
|
||||
|
Loading…
x
Reference in New Issue
Block a user