Skill detail
golang-samber-slog
Covers structured logging in Go using samber/slog packages, including multi-handler pipelines, sampling, formatting, HTTP middleware, and backend sinks.
Why we recommend it: Structured logging pipelines touch backend Operations/observability but are library-specific.
Inspect before use
Read the source instructions and check the requirements before you install this skill.
SKILL.md
The saved excerpt is a snapshot from when this skill was listed. The external source remains the complete and most current version.
---
name: golang-samber-slog
description: "Structured logging extensions for Golang using samber/slog-**** packages — multi-handler pipelines (slog-multi), log sampling (slog-sampling), attribute formatting (slog-formatter), HTTP middleware (slog-fiber, slog-gin, slog-chi, slog-echo), and backend routing (slog-datadog, slog-sentry, slog-loki, slog-syslog, slog-logstash, slog-graylog...). Apply when using or adopting slog, or when the codebase already imports any github.com/samber/slog-* package."
user-invocable: true
license: MIT
compatibility: Designed for Claude Code, Codex or similar harness, and for projects using Golang.
metadata:
author: samber
version: "1.1.2"
openclaw:
emoji: "🪵"
homepage: https://github.com/samber/cc-skills-golang
requires:
bins:
- go
install: []
skill-library-version:
slog-multi: "1.8.0"
slog-sampling: "1.6.0"
slog-formatter: "1.3.0"
slog-fiber: "1.22.1"
slog-gin: "1.21.0"
slog-chi: "1.19.0"
slog-echo: "1.21.0"
slog-http: "1.12.0"
slog-betterstack: "1.4.4"
slog-channel: "1.4.4"
slog-datadog: "2.10.4"
slog-sentry: "2.10.3"
slog-loki: "3.7.2"
slog-syslog: "2.5.4"
slog-logstash: "2.6.4"
slog-graylog: "2.7.5"
slog-fluentd: "2.5.4"
slog-kafka: "2.6.5"
slog-logrus: "2.5.4"
slog-zap: "2.6.4"
slog-zerolog: "2.9.2"
slog-slack: "2.7.5"
slog-telegram: "2.4.4"
slog-webhook: "2.8.4"
slog-mattermost: "2.5.4"
slog-microsoft-teams: "2.7.4"
slog-nats: "0.4.5"
slog-otel: "0.1.0"
slog-parquet: "2.5.2"
slog-quickwit: "0.3.4"
slog-rollbar: "2.7.4"
slog-mock: "0.1.0"
allowed-tools: Read Edit Write Glob Grep Bash(go:*) Bash(golangci-lint:*) Bash(git:*) Agent WebFetch mcp__context7__resolve-library-id mcp__context7__query-docs AskUserQuestion Bash(godig:*) Bash(gopls:*) LSP mcp__gopls__*
paths:
- "**/*.go"
---
**Persona:** You are a Go logging architect. You design log pipelines where every record flows through the right handlers — sampling drops noise early, formatters strip PII before records leave the process, and routers send errors to Sentry while info goes to Loki.
# samber/slog-\*\*\*\* — Structured Logging Pipeline for Go
20+ composable `slog.Handler` packages for Go 1.21+. Three core pipeline libraries plus HTTP middlewares and backend sinks that all implement the standard `slog.Handler` interface.
**Official resources:**
- [github.com/samber/slog-multi](https://github.com/samber/slog-multi) — handler composition
- [github.com/samber/slog-sampling](https://github.com/samber/slog-sampling) — throughput control
- [github.com/samber/slog-formatter](https://github.com/samber/slog-formatter) — attribute transformation
This skill is not exhaustive — refer to library documentation and code examples for more information:
- For Go package docs, symbols, versions, importers, and known vulnerabilities, → See `samber/cc-skills-golang@golang-pkg-go-dev` skill (`godig`), preferred over Context7 for Go package facts.
- To navigate this library's usage in your own code (definitions, call sites, diagnostics), → See `samber/cc-skills-golang@golang-gopls` skill (`gopls`).
- Context7 remains a fallback for docs not indexed on pkg.go.dev.
## The Pipeline Model
Every samber/slog pipeline follows a canonical ordering. Records flow left to right — place sampling first to drop early and avoid wasting CPU on records that never reach a sink.
```
record → [Sampling] → [Pipe: trace/PII] → [Router] → [Sinks]
```
Order matters: sampling before formatting saves CPU. Formatting before routing ensures all sinks receive clean attributes. Reversing this wastes work on records that get dropped.
## Core Libraries
| Library | Purpose | Key constructors |
| --- | --- | --- |
| `slog-multi` | Handler composition | `Fanout`, `Router`, `FirstMatch`, `Failover`, `Pool`, `Pipe` |
| `slog-sampling` | Throughput contrRead the full source on GitHub (opens external page)