console.log进入不同的终端窗口 - node.js

时间:2014-02-23 14:35:07

标签: node.js

在我们的nodejs项目中,有几页调试信息记录在每个HTTP请求的一个默认控制台窗口中。找出我记录的信息是非常困难的。

我无权编辑此项目中的其他代码部分。我想创建一个新的终端窗口,只将我的调试信息记录到这个窗口。

问题: 有可能using console.log沿着这个地方去做吗?如果没有,无论如何要启动一个新的终端窗口并在那里记录我的信息?我认为nodejs可以控制本地文件系统并调用OS函数。必须有办法。

谢谢!

2 个答案:

答案 0 :(得分:1)

您可以创建自定义Console对象:

var Console = require('console').Console;
var fs = require('fs')

var stream = fs.createWriteStream('/tmp/mylog');

var console = new Console(stream, stream);

var i = 0;

(function log () {
  console.log(i++);
  setTimeout(log, 1000);
} ())

然后执行tail -f /tmp/mylog

答案 1 :(得分:0)

使用其他日志。 Winston支持大量日志格式以及多个日志记录通道。而不是将调试信息发送到控制台,而是将其发送到文件。您可以稍后阅读或tail -f实时阅读。