Skip to content

Files

Latest commit

22fd3d2 · Sep 22, 2023

History

History
36 lines (25 loc) · 691 Bytes
·

README.md

File metadata and controls

36 lines (25 loc) · 691 Bytes
·

otelslog

log/slog handler for OTel

Quick start

Configure open-telemetry provider first. See example here

Then configure slog logger with otelslog handler:

package main

import (
	"context"
	"github.com/agoda-com/opentelemetry-go/otelslog"
	"log/slog"
)

func main() {
	// configure logger provider
	loggerProvider :=  ...

	otelLogger := slog.New(otelslog.NewOtelHandler(loggerProvider, &otelslog.HandlerOptions{}))

	//configure default logger
	slog.SetDefault(otelLogger)

	doSomething(ctx)
}

// call function with opentelemetry context provided
func doSomething(ctx context.Context) {
	slog.InfoContext(ctx, "hello", slog.String("myKey", "myValue"))
}