CodeSampleX

Пример

github.com/lmittmann/tint 1.2.0: Intercept, rewrite, and suppress source locations, built-in attributes, and hierarchical group fields using tint.Options.ReplaceAttr

Проверенный пример — golang github.com/lmittmann/tint 1.2.0: Intercept, rewrite, and suppress source locations, built-in attributes, and hierarchical group…

sha256:6fdf0275f43c82295f836ff4ca53426ed7d8b2baf0b87ccdbdfc86ae8eaae5c5

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда go linux x64 go go go

Среды запусков проверки

Окружение Контракт Этапы Запуск
go 1.26 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-17
go 1.26 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · golang@1
2026-08-18

Кейс

HOW
Цель
Intercept, rewrite, and suppress source locations, built-in attributes, and hierarchical group fields using tint.Options.ReplaceAttr
Пакеты
Символы
  • tint.NewTextHandler
  • tint.Options
  • tint.Attr
Окружение
go
Создан
2026-08-17T19:21:08Z

Контракт

  1. 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
  2. ReplaceAttr receives *slog.Source for slog.SourceKey and returning an empty slog.Attr removes the source prefix completely without leftover spacing
  3. ReplaceAttr intercepts built-in slog keys including slog.LevelKey, slog.MessageKey, and slog.TimeKey for custom level tagging, payload rewriting, or timestamp omission
  4. 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
  5. ReplaceAttr can dynamically return tint.Attr or tint.Err to conditionally colorize attributes based on runtime values

Файлы

  • NOTES.md
  • csx.json
  • go.mod
  • go.sum
  • tint_test.go

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed