slog - новый логгер в стандартной библиотеке
В версии Go 1.21 в stdlib будет добавлен пакет для работы с логами - slog. Сейчас его можно попробовать в виде стороннего пакета в golang/x.
Что почитать, чтобы быть в курсе:
- Дискуссия на гитхабе, с которой всё началось
- Анонс дизайн-документа slog
- Proposal: Structured Logging, который стал результатом дискуссии
- Подробнейший разбор slog - очень советую почитать для понимания мотивации и решения
- Ещё одна статья на эту тему
————
Напомню, чего не хватало в стандартном логгере - log:
- Нет уровней логирования, например - Info, Error, Debug и др. Без этого логи сложнее фильтровать, разделять по важности.
- Нет поддержки structured logs - мы можем выводить только plain text, и не можем использовать формат, который легко парсится разными сервисами (kibana, grafana и т.п.), например - JSON
- Нельзя добавить доп. поля для контекста: userID, traceID и т.п.
и др.
#logs #package #news
В версии Go 1.21 в stdlib будет добавлен пакет для работы с логами - slog. Сейчас его можно попробовать в виде стороннего пакета в golang/x.
Что почитать, чтобы быть в курсе:
- Дискуссия на гитхабе, с которой всё началось
- Анонс дизайн-документа slog
- Proposal: Structured Logging, который стал результатом дискуссии
- Подробнейший разбор slog - очень советую почитать для понимания мотивации и решения
- Ещё одна статья на эту тему
————
Напомню, чего не хватало в стандартном логгере - log:
- Нет уровней логирования, например - Info, Error, Debug и др. Без этого логи сложнее фильтровать, разделять по важности.
- Нет поддержки structured logs - мы можем выводить только plain text, и не можем использовать формат, который легко парсится разными сервисами (kibana, grafana и т.п.), например - JSON
- Нельзя добавить доп. поля для контекста: userID, traceID и т.п.
и др.
#logs #package #news
pkg.go.dev
slog package - golang.org/x/exp/slog - Go Packages
Package slog provides structured logging, in which log records include a message, a severity level, and various other attributes expressed as key-value pairs.
🔥42👍17
Авторы Go про slog и structured logs
https://go.dev/blog/slog
Свежий пост, в котором авторы языка рассказывают про structured logs и пакет slog:
- Краткое введение в slog
- Производительность
- Процесс дизайна пакета slog
#post #logs #slog
https://go.dev/blog/slog
Свежий пост, в котором авторы языка рассказывают про structured logs и пакет slog:
- Краткое введение в slog
- Производительность
- Процесс дизайна пакета slog
#post #logs #slog
go.dev
Structured Logging with slog - The Go Programming Language
The Go 1.21 standard library includes a new structured logging package, log/slog.
👍19