Go Wiki: Resources for slog
This page links to projects that use or enhance slog, the structured logging package for the standard library.
Log formatting
- slog-formatter: Common formatters for slog + helpers for building your own: https://github.com/samber/slog-formatter
 - ConsoleHandler (similar to Zap’s ConsoleEncoder): https://gist.github.com/wijayaerick/de3de10c47a79d5310968ba5ff101a19
 - logf (attr {key} interpolation, rich tty output): https://pkg.go.dev/github.com/AndrewHarrisSPU/logf (uses lazy Handler stores: https://go.dev/play/p/psdD7KDF5fp )
 - slogd - slog with duration https://github.com/kaihendry/slogd with video https://youtu.be/IsPa11N5pzI
 - tinted (colorized) output: https://pkg.go.dev/github.com/lmittmann/tint
 - humane: a human-friendly (but still largely structured) slog Handler: https://github.com/telemachus/humane
 - slug: a handler that prints colourful logs for humans: https://github.com/dotse/slug
 - slogor: A colorful slog handler: https://gitlab.com/greyxor/slogor
 - klog: the text format used by Kubernetes. Provides klog output routing when using the main package’s logger and a simpler logger that just writes to stderr. Both slog/logr and go-logr/logr APIs are supported.
 - slogjson: Format using the upcoming JSON v2 library, with optional single-line pretty-printing: https://github.com/veqryn/slog-json
 
Logger bridges
- Zap Handler, a slog handler that uses Zap: https://github.com/chanchal1987/zaphandler
 - zapr: starting with v1.3.0, both slog/logr and go-logr/logr APIs are supported by the same logger instance.
 - A handler for GoKit: https://github.com/tjhop/slog-gokit.
 
Logging Middleware
- slogctx: store attributes or the logger in context, read any custom values from context: https://github.com/veqryn/slog-context
 - slog-context/otel: automatically read and add OpenTelemetry TraceID and SpanID to logs, and can set Span error code: github.com/veqryn/slog-context/otel
 - slogdedup: deduplication and sorting of attribute keys, with multiple policies, useful for json logging. Convenience methods to output for Stackdriver, Graylog, and others: https://github.com/veqryn/slog-dedup
 
HTTP server middleware
- slog-gin: Gin middleware for slog logger: https://github.com/samber/slog-gin
 - slog-echo: Echo middleware for slog logger: https://github.com/samber/slog-echo
 - slog-fiber: Fiber middleware for slog logger: https://github.com/samber/slog-fiber
 - slog-chi: Chi middleware for slog logger: https://github.com/samber/slog-chi
 
Log sinks
- Experimental example using both OpenTelemetry and 
slog: https://github.com/justinsb/experiments-slog - Simple slog handler with opentelemetry tracing: https://github.com/ttys3/slogsimple/tree/main
 - slog-datadog: a 
slog.Handlerfor Datadog: https://github.com/samber/slog-datadog - slog-rollbar: a 
slog.Handlerfor Rollbar: https://github.com/samber/slog-rollbar - slog-sentry: a 
slog.Handlerfor Sentry: https://github.com/samber/slog-sentry - slog-syslog: a 
slog.Handlerfor Syslog: https://github.com/samber/slog-syslog - slog-logstash: a 
slog.Handlerfor Logstash: https://github.com/samber/slog-logstash - slog-fluentd: a 
slog.Handlerfor Fluentd: https://github.com/samber/slog-fluentd - slog-graylog: a 
slog.Handlerfor Graylog: https://github.com/samber/slog-graylog - slog-loki: a 
slog.Handlerfor Loki: https://github.com/samber/slog-loki - slog-slack: a 
slog.Handlerfor Slack: https://github.com/samber/slog-slack - slog-telegram: a 
slog.Handlerfor Telegram: https://github.com/samber/slog-telegram - slog-mattermost: a 
slog.Handlerfor Mattermost: https://github.com/samber/slog-mattermost - slog-microsoft-teams: a 
slog.Handlerfor Microsoft Teams: https://github.com/samber/slog-microsoft-teams - slog-webhook: a 
slog.Handlerfor Webhook: https://github.com/samber/slog-webhook - slog-kafka: a 
slog.Handlerfor Kafka: https://github.com/samber/slog-kafka - slogbugsnag: a 
slog.Handlerfor Bugsnag: https://github.com/veqryn/slog-bugsnag - slogdriver: a 
slog.Handlerfor Stackdriver Logging / GCP Cloud Logging: https://github.com/jussi-kalliokoski/slogdriver 
Handlers
- slog-multi: chain of 
slog.Handler(pipeline, fanout, …): https://github.com/samber/slog-multi - various handlers: https://github.com/galecore/xslog
 
Other:
- Additional resources written by jba: https://github.com/jba/slog
 - slog-sampling: drop repetitive log entries: https://github.com/samber/slog-sampling
 - slog-context: adds support to reading values from context: https://github.com/PumpkinSeed/slog-context
 - slogassert: handle for testing slog logs emitted by code: https://github.com/thejerf/slogassert
 - sloggen: generate various helpers for 
log/slog: https://github.com/go-simpler/sloggen - sloglint: ensure consistent code style when using 
log/slog: https://github.com/go-simpler/sloglint 
This content is part of the Go Wiki.