Об этом проекте

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.