Documentation
¶
Overview ¶
Package otel provides OpenTelemetry log bridging for zerowrap.
This is an optional sub-package that adds OpenTelemetry dependencies. Only import it if you need to forward zerolog events to OpenTelemetry.
Usage ¶
import (
"github.com/bnema/zerowrap"
"github.com/bnema/zerowrap/otel"
)
// Create logger with OTel hook
log := zerowrap.New(zerowrap.Config{
Level: "info",
Format: "console",
}).Hook(otel.NewHook("my-service"))
// Attach to context
ctx := zerowrap.WithCtx(context.Background(), log)
// Logs now flow to both zerolog output AND OpenTelemetry
zerowrap.FromCtx(ctx).Info().Msg("hello world")
Custom Provider ¶
To use a specific logger provider instead of the global one:
provider := // your OTel logger provider hook := otel.NewHookWithProvider(provider, "my-service") log := zerowrap.New(cfg).Hook(hook)
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Hook ¶
type Hook struct {
// contains filtered or unexported fields
}
Hook is a zerolog.Hook that bridges logs to OpenTelemetry.
func NewHook ¶
NewHook creates a hook that forwards zerolog events to OpenTelemetry. Uses the global logger provider.
func NewHookWithProvider ¶
func NewHookWithProvider(provider log.LoggerProvider, serviceName string) *Hook
NewHookWithProvider creates a hook with a specific logger provider.
Click to show internal directories.
Click to hide internal directories.