Консоль¶
Стабильность: 2 – Стабильная
АПИ является удовлетворительным. Совместимость с NPM имеет высший приоритет и не будет нарушена кроме случаев явной необходимости.
Модуль node:console предоставляет простую отладочную консоль, которая похожа на механизм консоли JavaScript, предоставляемый веб-браузерами.
Модуль экспортирует два специфических компонента:
- Класс
Consoleс методамиconsole.log(),console.error()иconsole.warn(), которые могут быть использованы для записи в любой поток Node.js. - Глобальный экземпляр
consoleнастроен на запись вprocess.stdoutиprocess.stderr. Глобальнаяconsoleможет использоваться без вызоваrequire('node:console').
Предупреждение: Методы объекта глобальной консоли не являются ни последовательно синхронными, как API браузера, на которые они похожи, ни последовательно асинхронными, как все остальные потоки Node.js. Дополнительную информацию смотрите в заметке о процессах ввода-вывода.
Пример с использованием глобальной console:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | |
Пример с использованием класса Console:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | |
Класс: Console¶
Класс Console может быть использован для создания простого регистратора с настраиваемыми потоками вывода, доступ к которому можно получить с помощью require('node:console').Console или console.Console (или их деструктурированных аналогов):
1 | |
1 | |
new Console(stdout[, stderr][, ignoreErrors])¶
new Console(options)¶
options<Object>stdout<stream.Writable>stderr<stream.Writable>ignoreErrors<boolean>Игнорировать ошибки при записи в базовые потоки. По умолчанию:true.colorMode<boolean>|<string>Устанавливает поддержку цвета для данного экземпляраконсоли. Установка значенияtrueвключает раскраску при просмотре значений. Установка вfalseотключает раскраску при просмотре значений. Установка в'auto'делает поддержку цвета зависимой от значения свойстваisTTYи значения, возвращаемого функциейgetColorDepth()для соответствующего потока. Эта опция не может быть использована, еслиinspectOptions.colorsтакже установлен. По умолчанию:авто.inspectOptions<Object>Определяет опции, которые передаются вutil.inspect().groupIndentation<number>Установка отступа группы. По умолчанию:2.
Создает новую Console с одним или двумя экземплярами записываемого потока. stdout - записываемый поток для вывода журнала или информации. stderr используется для вывода предупреждений или ошибок. Если stderr не указан, stdout используется для stderr.
1 2 3 4 5 6 7 8 9 10 11 | |
Глобальная console является специальной Console, вывод которой отправляется на process.stdout и process.stderr. Это эквивалентно вызову:
1 2 3 4 | |
console.assert(value[, ...message])¶
value<any>Значение, проверяемое на истинность....message<any>Все аргументы, кромеvalue, используются в качестве сообщения об ошибке.
console.assert() пишет сообщение, если value является falsy или опущено. Она только пишет сообщение и никак иначе не влияет на выполнение. Вывод всегда начинается со слов "Assertion failed". Если указано, то сообщение форматируется с помощью util.format().
Если value является truey, то ничего не происходит.
1 2 3 4 5 6 7 | |
console.clear()¶
Если stdout является TTY, вызов console.clear() попытается очистить TTY. Когда stdout не является TTY, этот метод ничего не делает.
Конкретная операция console.clear() может отличаться в разных операционных системах и типах терминалов. В большинстве операционных систем Linux метод console.clear() работает аналогично команде оболочки clear. В Windows console.clear() очистит только вывод в текущем окне просмотра терминала для бинарного файла Node.js.
console.count([label])¶
label<string>Отображаемая метка для счетчика. По умолчанию:'default'.
Ведет внутренний счетчик, специфичный для label, и выводит в stdout количество раз, когда console.count() был вызван с заданной label.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | |
console.countReset([label])¶
label<string>Отображаемая метка для счетчика. По умолчанию:'default'.
Сбрасывает внутренний счетчик, специфичный для label.
1 2 3 4 5 6 7 8 9 | |
console.debug(data[, ...args])¶
данные{любые}...args<any>
Функция console.debug() является псевдонимом для console.log().
console.dir(obj[, options])¶
obj<any>options<Object>showHidden<boolean>Еслиtrue, то будут показаны также неперечислимые и символьные свойства объекта. По умолчанию:false.depth<number>Указываетutil.inspect(), сколько раз пересматривать объект при форматировании. Это полезно при проверке больших сложных объектов. Чтобы заставить его выполнять возврат бесконечно, передайтеnull. По умолчанию:2.colors<boolean>Еслиtrue, то вывод будет оформлен с использованием цветовых кодов ANSI. Цвета настраиваются; смотрите настройка цветовutil.inspect(). По умолчанию:false.
Использует util.inspect() для obj и печатает полученную строку в stdout. Эта функция обходит любую пользовательскую функцию inspect(), определенную для obj.
console.dirxml(...data)¶
...data<any>
Этот метод вызывает console.log(), передавая ему полученные аргументы. Этот метод не производит никакого форматирования XML.
console.error([data][, ...args])¶
данные{любые}...args<any>
Печатает в stderr с новой строкой. Можно передать несколько аргументов, при этом первый используется как основное сообщение, а все дополнительные - как подстановочные значения, аналогично printf(3) (все аргументы передаются в util.format()).
1 2 3 4 5 | |
Если элементы форматирования (например, %d) не найдены в первой строке, тогда util.inspect() вызывается на каждом аргументе и результирующие строковые значения конкатенируются. Дополнительную информацию смотрите в util.format().
console.group([...label])¶
...label<any>
Увеличивает отступ последующих строк на пробелы для длины groupIndentation.
Если указана одна или более ярлыков, то они печатаются первыми без дополнительного отступа.
console.groupCollapsed()¶
Псевдоним для console.group().
console.groupEnd()¶
Уменьшает отступ последующих строк на пробелы для длины groupIndentation.
console.info([data][, ...args]).¶
данные{любые}...args<any>
Функция console.info() является псевдонимом для console.log().
console.log([data][, ...args])¶
данные{любые}...args<any>
Печатает в stdout с новой строкой. Можно передавать несколько аргументов, при этом первый используется как основное сообщение, а все дополнительные - как подстановочные значения, аналогично printf(3) (все аргументы передаются в util.format()).
1 2 3 4 5 | |
Дополнительную информацию смотрите в util.format().
console.table(tabularData[, properties])¶
Попробуйте построить таблицу со столбцами свойств tabularData (или используйте properties) и строками tabularData и запишите ее в журнал. Вернитесь к простому протоколированию аргумента, если он не может быть разобран как табличный.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | |
console.time([label])¶
label<string>По умолчанию: 'default'.
Запускает таймер, который может быть использован для вычисления продолжительности операции. Таймеры идентифицируются уникальной label. Используйте эту же метку при вызове console.timeEnd() для остановки таймера и вывода прошедшего времени в соответствующих единицах времени в stdout. Например, если прошедшее время составляет 3869 мс, console.timeEnd() выводит "3.869s".
console.timeEnd([label])¶
label<string>По умолчанию:'default'.
Останавливает таймер, который был ранее запущен вызовом console.time() и печатает результат в stdout:
1 2 3 4 | |
console.timeLog([label][, ...data])¶
Для таймера, который был ранее запущен вызовом console.time(), печатает истекшее время и другие данные аргументов в stdout:
1 2 3 4 5 6 | |
console.trace([message][, ...args])¶
Печатает в stderr строку 'Trace:'``, затем [util.format()`](util.md#utilformatformat-args) отформатированное сообщение и трассировку стека до текущей позиции в коде.
1 2 3 4 5 6 7 8 9 10 11 12 13 | |
console.warn([data][, ...args])¶
данные{любые}...args<any>
Функция console.warn() является псевдонимом для console.error().
Методы только для инспектора¶
Следующие методы открываются движком V8 в общем API, но ничего не отображают, если не используются вместе с inspector (флаг --inspect).
console.profile([label])¶
label<string>
Этот метод ничего не отображает, если не используется в инспекторе. Метод console.profile() запускает профиль процессора JavaScript с необязательной меткой до вызова console.profileEnd(). Затем профиль добавляется на панель Profile инспектора.
1 2 3 4 | |
console.profileEnd([label])¶
label<string>
Этот метод ничего не отображает, если не используется в инспекторе. Останавливает текущий сеанс профилирования процессора JavaScript, если он был запущен, и печатает отчет на панели Profiles инспектора. Пример см. в console.profile().
Если этот метод вызывается без метки, то останавливается последний запущенный профиль.
console.timeStamp([label])¶
label<string>
Этот метод ничего не отображает, если не используется в инспекторе. Метод console.timeStamp() добавляет событие с меткой 'label' на панель Timeline инспектора.