console
Модуль node:console предоставляет простую консоль для отладки, похожую на механизм консоли JavaScript, доступный в веб-браузерах.
Модуль экспортирует два компонента:
- Класс
Consoleс такими методами, какconsole.log(),console.error()иconsole.warn(), которые можно использовать для записи в любой поток Node.js. - Глобальный экземпляр
console, настроенный для записи вprocess.stdoutиprocess.stderr. Глобальный объектconsoleможно использовать без импорта модуляnode:console.
Предупреждение: методы глобального объекта console не являются последовательно синхронными, как похожие на них API браузеров, и не являются последовательно асинхронными, как все остальные потоки Node.js. Дополнительную информацию см. в разделе note on process I/O.
Пример использования глобального объекта console:
console.log('hello world');
// Prints: hello world, to stdout
console.log('hello %s', 'world');
// Prints: hello world, to stdout
console.error(new Error('Whoops, something bad happened'));
// Prints error message and stack trace to stderr:
// Error: Whoops, something bad happened
// at [eval]:5:15
// at Script.runInThisContext (node:vm:132:18)
// at Object.runInThisContext (node:vm:309:38)
// at node:internal/process/execution:77:19
// at [eval]-wrapper:6:22
// at evalScript (node:internal/process/execution:76:60)
// at node:internal/main/eval_string:23:3
const name = 'Will Robinson';
console.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to stderr
Пример использования класса Console:
const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);
myConsole.log('hello world');
// Prints: hello world, to out
myConsole.log('hello %s', 'world');
// Prints: hello world, to out
myConsole.error(new Error('Whoops, something bad happened'));
// Prints: [Error: Whoops, something bad happened], to err
const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to err
Использование в Deno
import * as mod from "node:console";
интерфейс Console
Использование в Deno
import { type Console } from "node:console";
Свойства
Методы
assert(
value: any,
message?: string,
...optionalParams: any[],
): void console.assert() выводит сообщение, если value имеет ложное значение или не указано. Метод только выводит сообщение и никак иначе не влияет на выполнение. Вывод всегда начинается с "Assertion failed". Если указано, message форматируется с помощью util.format().
Если value имеет истинное значение, ничего не происходит.
console.assert(true, 'does nothing');
console.assert(false, 'Whoops %s work', 'didn\'t');
// Assertion failed: Whoops didn't work
console.assert();
// Assertion failed
clear(): void Если stdout является TTY, вызов console.clear() попытается очистить TTY. Если stdout не является TTY, этот метод ничего не делает.
Конкретное действие console.clear() может различаться в разных операционных системах и типах терминалов. В большинстве операционных систем Linux console.clear() работает примерно так же, как команда оболочки clear. В Windows console.clear() очищает только вывод в текущей области просмотра терминала для двоичного файла Node.js.
count(label?: string): void Поддерживает внутренний счетчик, относящийся к label, и выводит в stdout количество вызовов console.count() с указанным label.
> console.count()
default: 1
undefined
> console.count('default')
default: 2
undefined
> console.count('abc')
abc: 1
undefined
> console.count('xyz')
xyz: 1
undefined
> console.count('abc')
abc: 2
undefined
> console.count()
default: 3
undefined
>
countReset(label?: string): void Сбрасывает внутренний счетчик, относящийся к label.
> console.count('abc');
abc: 1
undefined
> console.countReset('abc');
undefined
> console.count('abc');
abc: 1
undefined
>
debug(
message?: any,
...optionalParams: any[],
): void Функция console.debug() является псевдонимом log.
dir(
obj: any,
options?: InspectOptions,
): void Применяет util.inspect() к obj и выводит полученную строку в stdout. Эта функция обходит любую пользовательскую функцию inspect(), определенную для obj.
dirxml(...data: any[]): void Этот метод вызывает console.log(), передавая ему полученные аргументы. Метод не выполняет форматирование в XML.
error(
message?: any,
...optionalParams: any[],
): void Выводит данные в stderr с переводом строки. Можно передать несколько аргументов: первый используется как основное сообщение, а все остальные — как значения для подстановки, подобно printf(3) (все аргументы передаются в util.format()).
const code = 5;
console.error('error #%d', code);
// Prints: error #5, to stderr
console.error('error', code);
// Prints: error 5, to stderr
Если в первой строке не найдены элементы форматирования (например, %d), для каждого аргумента вызывается util.inspect(), после чего полученные строковые значения объединяются. Дополнительную информацию см. в разделе util.format().
group(...label: any[]): void Увеличивает отступ последующих строк на количество пробелов, равное длине groupIndentation.
Если указан один или несколько label, они выводятся первыми без дополнительного отступа.
groupCollapsed(...label: any[]): void Псевдоним group.
groupEnd(): void Уменьшает отступ последующих строк на количество пробелов, равное длине groupIndentation.
info(
message?: any,
...optionalParams: any[],
): void Функция console.info() является псевдонимом log.
log(
message?: any,
...optionalParams: any[],
): void Выводит данные в stdout с переводом строки. Можно передать несколько аргументов: первый используется как основное сообщение, а все остальные — как значения для подстановки, подобно printf(3) (все аргументы передаются в util.format()).
const count = 5;
console.log('count: %d', count);
// Prints: count: 5, to stdout
console.log('count:', count);
// Prints: count: 5, to stdout
Дополнительную информацию см. в разделе util.format().
table(
tabularData: any,
properties?: readonly string[],
): void Пытается построить таблицу со столбцами, соответствующими свойствам tabularData (или использует properties), и строками, соответствующими tabularData, а затем выводит ее. Если аргумент не удается разобрать как таблицу, выводится только он сам.
// These can't be parsed as tabular data
console.table(Symbol());
// Symbol()
console.table(undefined);
// undefined
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }]);
// ┌─────────┬─────┬─────┐
// │ (index) │ a │ b │
// ├─────────┼─────┼─────┤
// │ 0 │ 1 │ 'Y' │
// │ 1 │ 'Z' │ 2 │
// └─────────┴─────┴─────┘
console.table([{ a: 1, b: 'Y' }, { a: 'Z', b: 2 }], ['a']);
// ┌─────────┬─────┐
// │ (index) │ a │
// ├─────────┼─────┤
// │ 0 │ 1 │
// │ 1 │ 'Z' │
// └─────────┴─────┘
time(label?: string): void Запускает таймер, с помощью которого можно вычислить длительность операции. Таймеры идентифицируются уникальным label. Чтобы остановить таймер и вывести прошедшее время в подходящих единицах измерения в stdout, при вызове timeEnd используйте тот же label. Например, если прошло 3869 мс, console.timeEnd() отображает «3.869s».
timeEnd(label?: string): void Останавливает таймер, ранее запущенный вызовом time, и выводит результат в stdout:
console.time('bunch-of-stuff');
// Do a bunch of stuff.
console.timeEnd('bunch-of-stuff');
// Prints: bunch-of-stuff: 225.438ms
timeLog(
label?: string,
...data: any[],
): void Для таймера, ранее запущенного вызовом time, выводит прошедшее время и другие аргументы data в stdout:
console.time('process');
const value = expensiveProcess1(); // Returns 42
console.timeLog('process', value);
// Prints "process: 365.227ms 42".
doExpensiveProcess2(value);
console.timeEnd('process');
trace(
message?: any,
...optionalParams: any[],
): void Выводит в stderr строку 'Trace: ', за которой следуют отформатированное с помощью util.format() сообщение и трассировка стека до текущей позиции в коде.
console.trace('Show me');
// Prints: (stack trace will vary based on where trace is called)
// Trace: Show me
// at repl:2:9
// at REPLServer.defaultEval (repl.js:248:27)
// at bound (domain.js:287:14)
// at REPLServer.runBound [as eval] (domain.js:300:12)
// at REPLServer.<anonymous> (repl.js:412:12)
// at emitOne (events.js:82:20)
// at REPLServer.emit (events.js:169:7)
// at REPLServer.Interface._onLine (readline.js:210:10)
// at REPLServer.Interface._line (readline.js:549:8)
// at REPLServer.Interface._ttyWrite (readline.js:826:14)
warn(
message?: any,
...optionalParams: any[],
): void Функция console.warn() является псевдонимом error.
profile(label?: string): void Этот метод ничего не отображает, если он не используется в инспекторе. Метод console.profile() запускает профилирование загрузки ЦП JavaScript с необязательной меткой до вызова profileEnd. Затем профиль добавляется на панель Profile инспектора.
console.profile('MyLabel');
// Some code
console.profileEnd('MyLabel');
// Adds the profile 'MyLabel' to the Profiles panel of the inspector.
profileEnd(label?: string): void Этот метод ничего не отображает, если он не используется в инспекторе. Останавливает текущий сеанс профилирования загрузки ЦП JavaScript, если он был запущен, и выводит отчет на панель Profiles инспектора. Пример см. в описании profile.
Если этот метод вызван без метки, останавливается последний запущенный профиль.
timeStamp(label?: string): void Этот метод ничего не отображает, если он не используется в инспекторе. Метод console.timeStamp() добавляет на панель Timeline инспектора событие с меткой 'label'.
интерфейс console.ConsoleConstructor
Использование в Deno
import { console } from "node:console";
интерфейс console.ConsoleConstructorOptions
Использование в Deno
import { console } from "node:console";
Свойства
stdout: WritableStream stderr: WritableStream | undefined ignoreErrors: boolean | undefined Игнорировать ошибки при записи в базовые потоки.
colorMode:
boolean
| "auto"
| undefined
Задает поддержку цвета для этого экземпляра Console. Значение true включает раскрашивание при проверке значений. Значение false отключает раскрашивание при проверке значений. Значение 'auto' означает, что поддержка цвета зависит от значения свойства isTTY и значения, возвращаемого getColorDepth() для соответствующего потока. Этот параметр нельзя использовать, если также задано inspectOptions.colors.
inspectOptions: InspectOptions | undefined Задает параметры, передаваемые в util.inspect().
groupIndentation: number | undefined Задает отступ группы.
пространство имен console
Использование в Deno
import { console } from "node:console";
Модуль console предоставляет простую консоль для отладки, похожую на механизм консоли JavaScript, доступный в веб-браузерах.
Модуль экспортирует два компонента:
- Класс
Consoleс такими методами, какconsole.log(),console.error()иconsole.warn(), которые можно использовать для записи в любой поток Node.js. - Глобальный экземпляр
console, настроенный для записи вprocess.stdoutиprocess.stderr. Глобальный объектconsoleможно использовать без импорта модуляnode:console.
Предупреждение: методы глобального объекта console не являются последовательно синхронными, как похожие на них API браузеров, и не являются последовательно асинхронными, как все остальные потоки Node.js. Дополнительную информацию см. в разделе note on process I/O.
Пример использования глобального объекта console:
console.log('hello world');
// Prints: hello world, to stdout
console.log('hello %s', 'world');
// Prints: hello world, to stdout
console.error(new Error('Whoops, something bad happened'));
// Prints error message and stack trace to stderr:
// Error: Whoops, something bad happened
// at [eval]:5:15
// at Script.runInThisContext (node:vm:132:18)
// at Object.runInThisContext (node:vm:309:38)
// at node:internal/process/execution:77:19
// at [eval]-wrapper:6:22
// at evalScript (node:internal/process/execution:76:60)
// at node:internal/main/eval_string:23:3
const name = 'Will Robinson';
console.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to stderr
Пример использования класса Console:
const out = getStreamSomehow();
const err = getStreamSomehow();
const myConsole = new console.Console(out, err);
myConsole.log('hello world');
// Prints: hello world, to out
myConsole.log('hello %s', 'world');
// Prints: hello world, to out
myConsole.error(new Error('Whoops, something bad happened'));
// Prints: [Error: Whoops, something bad happened], to err
const name = 'Will Robinson';
myConsole.warn(`Danger ${name}! Danger!`);
// Prints: Danger Will Robinson! Danger!, to err
Интерфейсы
См. также
© 2018–2025 the Deno authors
Licensed under the MIT License.
https://docs.deno.com/api/node/console