2015-12-10 3 views
0

Это единственный способ записать в консоль console.warn() или console.error(), когда выход перенаправляется в файл (например, node myscript.js > someFile.txt)? Если есть другие способы, мне было бы интересно. Кажется странным использовать журналы предупреждений и ошибок для отправки информации на консоль при использовании перенаправления.Запись на консоль без записи перенаправленного вывода

+0

Почему вы хотите что-то выводить на консоль? Каков контекст? * «Кажется странным использовать журналы предупреждений и ошибок для отправки информации на консоль при использовании перенаправления». * Ваш скрипт не должен заботиться о том, что делается с выходом. –

ответ

0

documentation стоит взглянуть на класс Console.

можно реально определить объект класса Console с параметрами потоков вывода следующим образом:

var Console = console.Console; 
var output = fs.createWriteStream('./stdout.log'); 
var errorOutput = fs.createWriteStream('./stderr.log'); 

var logger = new Console(output, errorOutput); 
//logger is the custom logger 

В приведенном выше примере, logger.log() журналов ./stdout.log и logger.error() бревен ./stderr.log.

Перенаправление на стандартный выход или стандарт можно сделать аналогичным образом. Стандартный вывод идентифицируется process.stdout и стандартная ошибка process.stderr.

+0

Я думаю, что 'process.stdout' и' process.stderr' более важны здесь, чем 'Console.' –

+0

. Я пытался сказать, что вместо перенаправления на файл в терминале ему лучше создавать пользовательский регистратор, поэтому легче регистрироваться на разных выходах. –

+0

А я вижу. Думаю, это зависит от цели перенаправления. –

Смежные вопросы