Об этом проекте
Signale — это высококонфигурируемая библиотека ведения журналов для Node.js, предназначенная для взлома и настройки до мельчайших деталей. Её можно использовать для целей ведения журналов, отчётов о состоянии и обработки процесса рендеринга вывода других модулей и приложений Node.
Основные возможности включают:
- **19 встроенных логгеров**: включая `await`, `complete`, `error`, `debug`, `fatal`, `fav`, `info`, `note`, `pause`, `pending`, `star`, `start`, `success`, `wait`, `warn`, `watch` и `log`.
- **Настраиваемые подключаемые логгеры**: пользователи могут определять собственные логгеры, указывая значок, цвет, метку, уровень журнала и параметры потока.
- **Логгеры с областью видимости**: создание логгеров с областью видимости с нуля или на основе существующих экземпляров, наследуя конфигурацию, таймеры, секреты, потоки и другие настройки.
- **Интерактивный режим**: сообщения от интерактивных логгеров переопределяют предыдущие сообщения, что полезно для отчётов о ходе выполнения.
- **Фильтрация секретов**: конфиденциальная информация может быть отфильтрована из сообщений журнала и заменена на `[secure]`.
- **Таймеры**: встроенная функциональность таймера с функциями `time()` и `timeEnd()`.
- **Несколько потоков записи**: поддержка одного или нескольких потоков записи, настраиваемых глобально или для каждого типа логгера.
- **Масштабируемые уровни журнала**: настраиваемые уровни журнала, включая `info`, `timer`, `debug`, `warn` и `error`.
- **Интерполяция строк**: поддержка интерполяции строк в стиле `%s` и `%d`.
- **Глобальная конфигурация**: настройка через `package.json` в пространстве имён `signale`.
- **Локальная конфигурация**: переопределение глобальных настроек для каждого файла или экземпляра логгера.
- **Поддержка TypeScript**: полная поддержка TypeScript.
- **Чистый и красивый вывод**: хорошо отформатированный вывод в терминале со значками, метками, цветами и опциональным отображением даты/временной метки/имени файла.
Библиотека предоставляет простой API с методами, такими как `signale.success()`, `signale.error()`, `signale.scope()`, `signale.config()`, `signale.time()`, `signale.timeEnd()`, `signale.disable()`, `signale.enable()`, `signale.addSecrets()` и `signale.clearSecrets()`.
Signale используется в проектах, включая Boostnote, Docz, Remix by Ethereum, Semantic Release, Shower, Taskbook и Vant.
Проект лицензирован под MIT и спонсируется Better Stack.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.