Slide 15
Slide 15 text
lp := initLoggerProvider(ctx)
// slogͱOpenTelemetryͷ࿈ܞ
logger := otelslog.NewLogger("my-service",
otelslog.WithLoggerProvider(lp))
// τϨʔεͱͷ࿈ܞྫ
tracer := otel.Tracer("my-service")
ctx, span := tracer.Start(ctx, "operation-name")
defer span.End()
// contextΛ͢͜ͱͰɺtraceใΛൖ͍ͯ͠Δ
logger.InfoContext(ctx, "Start processing",
"user_id", "12345",
)
OpenTelemetry Logger Provider
for Go
15
● ීஈ͍ͬͯΔ slog Λ wrap
func initLoggerProvider(ctx context.Context) (*sdklog.LoggerProvider, error) {
// ΤΫεϙʔλʔͷઃఆ
exporter, _ := otlploggrpc.New(ctx,
otlploggrpc.WithEndpoint("localhost:4317"),
otlploggrpc.WithInsecure(),
)
// LoggerProviderͷઃఆ
loggerProvider := sdklog.NewLoggerProvider(
sdklog.WithProcessor(
sdklog.NewBatchProcessor(
exporter,
),
),
)
return loggerProvider, nil
}