Консоль¶
Стабильность: 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 инспектора.