Утилита логгера, которую использует npm.
Этот регистратор очень простой. Он ведет журнал для npm. Он поддерживает пользовательские уровни и цветной вывод.
По умолчанию логи записываются в stderr. Если вы хотите отправлять сообщения журнала на выходы, отличные от потоков, вы можете изменить член log.stream
или просто прослушивать события, которые он генерирует, и делать с ними все, что захотите.
npm install npmlog --save
var log = require ( 'npmlog' )
// additional stuff ---------------------------+
// message ----------+ |
// prefix ----+ | |
// level -+ | | |
// v v v v
log . info ( 'fyi' , 'I have a kitty cat: %j' , myKittyCat )
Уровень отображения журналов. Будут отображены все журналы на этом уровне или выше. Специальный уровень silent
предотвратит отображение чего-либо.
Массив всех введенных сообщений журнала.
Максимальное количество записей, которые можно сохранить. Если log.record превышает это значение более чем на 10 %, он сокращается до 90 % от этого значения.
Причина использования окна 10% заключается в том, что ему не нужно изменять размер большого массива при каждой записи журнала.
Объект стиля, определяющий стиль префиксов. (См. ниже)
Объект стиля, определяющий стиль заголовка. (См. ниже)
Если установлено, заголовок печатается в начале каждой строки.
process.stderr
Поток, в который записывается вывод.
Принудительно использовать цвета во всех сообщениях, независимо от выходного потока.
Отключить цвета во всех сообщениях.
Включить отображение счетчика активности журнала и индикатора выполнения.
Отключить отображение индикатора выполнения
Принудительно использовать тему Unicode для индикатора выполнения.
Отключите использование Юникода в индикаторе выполнения.
Установите шаблон для вывода индикатора выполнения. Подробности смотрите в документации на манометр.
Выберите набор тем, из которого нужно выбрать темы для индикатора выполнения. Подробности смотрите в документации на манометр.
Прекратите отправлять сообщения в поток, но не удаляйте их.
Выдать все буферизованные сообщения, которые были записаны во время паузы.
level
{String} Уровень отправки сообщенияprefix
{String} Префикс строки. Установите значение «», чтобы пропустить.message...
Аргументы для util.format
Выдать сообщение журнала на указанном уровне.
Например,
Например log.log(level, prefix, message, ...)
. Таким образом, каждому уровню присваивается сокращение, поэтому вы можете использовать log.info(prefix, message)
.
level
{String} Индикатор уровняn
{Number} Числовой уровеньstyle
{Object} Объект с fg, bg, инверсией и т. д.disp
{String} Необязательная замена level
в выходных данных.Устанавливает новый уровень с помощью функции сокращения и т. д.
Обратите внимание: если число равно Infinity
, то установка этого уровня приведет к подавлению всех сообщений журнала. Если число равно -Infinity
, то единственный способ отобразить его — включить все сообщения журнала.
name
{String} Необязательно; Название элемента прогресса.todo
{Номер} Необязательно; общий объем работ, которые предстоит выполнить. По умолчанию 0.weight
{Number} Необязательно; вес этого предмета относительно других. По умолчанию 1. Это добавляет новый трекер are-we-there-yet
» к трекеру прогресса. Возвращенный объект имеет методы log[level]
, но в остальном это объект Tracker
are-we-there-yet
.
Это добавляет новый трекер потока are-we-there-yet
к трекеру прогресса. Возвращенный объект имеет методы log[level]
, но в остальном это объект TrackerStream
are-we-there-yet
.
Это добавит новую группу трекеров are-we-there-yet
к трекеру прогресса. Возвращенный объект имеет методы log[level]
, но в остальном это объект TrackerGroup
are-we-there-yet
.
Все события создаются с помощью объекта сообщения.
log
Выдается для всех сообщенийlog.
Выдается для всех сообщений с уровнем
.
Сообщения с префиксами также выдают свой префикс как событие.Объекты стиля могут иметь следующие поля:
fg
{String} Цвет текста переднего плана.bg
{String} Цвет фонаbold
, inverse
, underline
{Boolean} Установить связанное свойствоbell
{Boolean} Пошуметь (наверное, это очень раздражает.) Каждое событие журнала генерируется с объектом сообщения, и список log.record
содержит все созданные события. Они имеют следующие поля:
id
{номер}level
{String}prefix
{строка}message
{String} Результат util.format()
messageRaw
{Array} Аргументы для util.format()
Мы используем set-blocking
для установки блокировки stderr и stdout, если они являются tty и имеют вызов setBlocking. Это обход проблемы в ранних версиях Node.js 6.x, из-за которой stderr и stdout неблокировались в OSX. (Они всегда блокируют Windows и никогда не блокировали Linux.) npmlog
требует, чтобы они блокировались, чтобы разрешить чередование вывода на stdout и stderr.