Skip to content

Golang package for log/slog enrichment from context

Notifications You must be signed in to change notification settings

prathoss/logenricher

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

logenricher

logenricher is tiny package enabling log/slog logs enrichment with data from context.

Use cases:

  • correlation id enrichment
  • span and trace id enrichment

Example:

package main

import (
    "context"
    "log/slog"

    "github.com/google/uuid"
    "github.com/prathoss/logenricher"
)

func CorrelationIDExtractor(ctx context.Context) []slog.Attr {
    correlationID := ctx.Value("correlation-id").(uuid.UUID)
    return []slog.Attr{slog.String("correlation_id", correlationID.String())}
}

func main() {
    slog.SetDefault(slog.New(&logenricher.SlogHandlerWrapper{
        Handler: slog.NewTextHandler(
            os.Stdout,
            &slog.HandlerOptions{},
        ),
        Extractors: []logenricher.Extractor{
            CorrelationIDExtractor,
        },
    }))
}

About

Golang package for log/slog enrichment from context

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages