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"
|
"strconv"
|
||||||
"strings"
|
"strings"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"go.opentelemetry.io/otel/trace"
|
||||||
)
|
)
|
||||||
|
|
||||||
var (
|
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{}) {
|
func bindValues(ctx context.Context, keyvals []interface{}) {
|
||||||
for i := 1; i < len(keyvals); i += 2 {
|
for i := 1; i < len(keyvals); i += 2 {
|
||||||
if v, ok := keyvals[i].(Valuer); ok {
|
if v, ok := keyvals[i].(Valuer); ok {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user