写入控制台而不写入重定向输出

时间:2015-12-10 23:47:10

标签: node.js

当输出重定向到文件(例如console.warn())时,是写入控制台以使用console.error()node myscript.js > someFile.txt的唯一方法吗?如果还有其他方法,我会感兴趣。使用警告和错误日志在使用重定向时向控制台发送信息似乎很奇怪。

1 个答案:

答案 0 :(得分:0)

documentation值得研究Console类。

实际上可以使用stderr和stdout的参数来定义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.loglogger.error()记录到./stderr.log

可以类似地重定向到标准输出或标准。标准输出由process.stdout标识,标准错误由process.stderr标识。