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.1 | Pino 10.1.0 |
|---|---|---|
| Стадия | Экспериментальный пакет с намеренно небольшой поверхностью. | Зрелый проект с существующей экосистемой интеграций. |
| Runtime-контур | Нативный ESM для Node.js 22/24, сторонних runtime-зависимостей нет. | Собственный пакетный и интеграционный контур; проверяйте его для выбранной версии. |
| Формат | Одна NDJSON-запись на событие, числовые уровни совместимы с Pino. | Структурированный JSON с привычной Pino-моделью уровней. |
| Доставка | Синхронный callback transport; очередь, retries и persistence принадлежат приложению. | Официальная transport API поддерживает worker threads, targets и pipelines. |
| Backpressure | Immediate mode использует очередь Node.js stream; строгую границу даёт собственный bounded transport. | Зависит от выбранного destination/transport и его конфигурации. |
| Миграция | base → bindings, custom levels → log(); workers, pretty и vendor transports не входят в пакет. | Предпочтительнее, если приложение уже зависит от Pino API или его транспортов. |
Решение по ограничениям
- 01
Нужен минимальный production-контур
Рассмотрите swm-logsЕсли Node.js 22/24 и самостоятельное владение доставкой уже являются вашими ограничениями.
- 02
Нужны готовые внешние транспорты
Оставайтесь на PinoWorker transport API и накопленная экосистема здесь важнее меньшей поверхности.
- 03
Нужна drop-in миграция
Не меняйте пакет вслепуюСовместимы уровни, но не весь API, transport lifecycle и набор расширений.
Что сравнение не обещает
- Это контрактное сравнение, а не универсальный рейтинг производительности.
- swm-logs не включает ротацию файлов, pretty-printing, сетевые exporters или vendor SDK.
- Перед миграцией проверьте собственные serializers, redaction paths, crash path и гарантию доставки.
Первичные источники
Версии и утверждения ниже можно проверить без пересказа по фиксированным исходникам.