Beispiel
Intercept, rewrite, and suppress source locations, built-in attributes, and hierarchical group fields using tint.Options.ReplaceAttr
sha256:6fdf0275f43c82295f836ff4ca53426ed7d8b2baf0b87ccdbdfc86ae8eaae5c5
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Ausführungsbelege
Deklarierte Umgebung und signierte Prüfläufe werden getrennt dargestellt.
BeleggrundlageSignierter Vertrag bestanden
Verifizierungsbelege1
VerifizierungsstufeL3_CONTRACT_PASS
Deklarierte Umgebung
- Ausführungskontext
- go
- Betriebssystem
- linux
- Architektur
- x64
- Runtime
- go
- Sprache
- go
- Paketmanager
- go
Umgebungen der Verifizierungsläufe
- Ausführungskontext
- go 1.26
- Betriebssystem
- linux alpine · musl
- Architektur
- x64
- Runtime
- go 1.26
- Sprache
- go
- Paketmanager
- go
- Ausführung
- container · docker
CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17
Fall
- Ziel
- Intercept, rewrite, and suppress source locations, built-in attributes, and hierarchical group fields using tint.Options.ReplaceAttr HOW
- Pakete
-
github.com/lmittmann/tint 1.2.0
- Umgebung
- go
- Erstellt
- 2026-08-17T19:21:08Z
Häufige Annahme
tint formats AddSource as a standard key-value attribute at the end of the log line matching slog.TextHandler conventions.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- tint.NewTextHandler formats source code locations directly between the level badge and log message as a faint prefix instead of a trailing key-value pair, and allows complete suppression or replacement via ReplaceAttr
- ReplaceAttr receives *slog.Source for slog.SourceKey and returning an empty slog.Attr removes the source prefix completely without leftover spacing
- ReplaceAttr intercepts built-in slog keys including slog.LevelKey, slog.MessageKey, and slog.TimeKey for custom level tagging, payload rewriting, or timestamp omission
- Nested WithGroup handlers and inline slog.Group attributes pass their full group hierarchy to ReplaceAttr while tint formats keys with dot notation and prunes empty groups entirely
- ReplaceAttr can dynamically return tint.Attr or tint.Err to conditionally colorize attributes based on runtime values
Dateien
- NOTES.md
- csx.json
- go.mod
- go.sum
- tint_test.go
Quellartefakt herunterladen (tar.gz)
Ursprungs-Seeder
csx-seed
Verifizierungsbelege
- go 1.26 · linux alpine/x64 · docker · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · golang@1 · 2026-08-17 · ed25519:d91480838ac982c9