Недостатки стандартного логгера?

Middle
551 просмотров
AFK Offer AI

Стандартный log пакет в Go минималистичен. Основные проблемы:

1. Нет уровней логирования (debug, info, warn, error) — всё пишется одним методом. 2. Нет структурированного вывода — только текст, нельзя вывести JSON для парсинга. 3. Нет контекста — нельзя привязать request ID, user ID к логам. 4. Плохая производительность — аллокации на каждый вызов.

Альтернативы: slog (стандартная библиотека с Go 1.21 — структурированный, с уровнями), zerolog (zero-allocation, JSON), zap (от Uber, быстрый). С Go 1.21 slog покрывает большинство потребностей без внешних зависимостей.

Следующий вопрос

Как работает горутина под капотом?