Decision record · logging

swm-logs или Pino для Node.js?

Короткий ответ

Выбирайте swm-logs, когда важны нулевые runtime-зависимости, небольшой ESM API и полный контроль приложения над доставкой. Выбирайте Pino, когда важнее зрелая экосистема транспортов, worker-процессы и совместимость с существующими Pino-интеграциями.

0.1.1
swm-logs
0
runtime deps
22 / 24
Node.js

Границы ответа

Сравнение фиксирует @swarmmachina/swm-logs 0.1.1 и транспортную модель Pino 10.1.0. swm-logs пока имеет экспериментальный статус и не является drop-in заменой Pino.

Сравнение swm-logs и Pino по инженерным критериям

Критерийswm-logs 0.1.1Pino 10.1.0
СтадияЭкспериментальный пакет с намеренно небольшой поверхностью.Зрелый проект с существующей экосистемой интеграций.
Runtime-контурНативный ESM для Node.js 22/24, сторонних runtime-зависимостей нет.Собственный пакетный и интеграционный контур; проверяйте его для выбранной версии.
ФорматОдна NDJSON-запись на событие, числовые уровни совместимы с Pino.Структурированный JSON с привычной Pino-моделью уровней.
ДоставкаСинхронный callback transport; очередь, retries и persistence принадлежат приложению.Официальная transport API поддерживает worker threads, targets и pipelines.
BackpressureImmediate mode использует очередь Node.js stream; строгую границу даёт собственный bounded transport.Зависит от выбранного destination/transport и его конфигурации.
Миграцияbase → bindings, custom levels → log(); workers, pretty и vendor transports не входят в пакет.Предпочтительнее, если приложение уже зависит от Pino API или его транспортов.

Решение по ограничениям

  1. 01

    Нужен минимальный production-контур

    Рассмотрите swm-logs

    Если Node.js 22/24 и самостоятельное владение доставкой уже являются вашими ограничениями.

  2. 02

    Нужны готовые внешние транспорты

    Оставайтесь на Pino

    Worker transport API и накопленная экосистема здесь важнее меньшей поверхности.

  3. 03

    Нужна drop-in миграция

    Не меняйте пакет вслепую

    Совместимы уровни, но не весь API, transport lifecycle и набор расширений.

Что сравнение не обещает

  • Это контрактное сравнение, а не универсальный рейтинг производительности.
  • swm-logs не включает ротацию файлов, pretty-printing, сетевые exporters или vendor SDK.
  • Перед миграцией проверьте собственные serializers, redaction paths, crash path и гарантию доставки.

Первичные источники

Версии и утверждения ниже можно проверить без пересказа по фиксированным исходникам.