使用console.log登录到特定控制台

时间:2018-02-11 06:11:11

标签: javascript console.log

如何从快递中的任何位置确定逻辑从哪个连接发起?

我正在使用Express,并在我的代码中做了很多逻辑。为了让用户知道发生了什么,我几乎无处不在地使用控制台日志。这样,如果逻辑由命令行运行,它只是打印到控制台,如果逻辑运行通过快速URL路由,我会覆盖控制台,如下所示:

console.log = (print) => {
    res.write(print + '<br>')
};

非常简单,但当两个同时运行时,最新的一个窃取控制台日志功能,因此它开始从两个进程打印控制台日志。关于如何运行的任何建议如果不将特殊的打印功能作为参数传递给我的所有函数?

也许使用一个全局打印对象来检测它启动的节点进程,并且只打印来自该源的语句,但是如何关闭连接呢?

1 个答案:

答案 0 :(得分:0)

使用npm模块winston https://www.npmjs.com/package/winston

var winston = require('winston');

  winston.log('info', 'Hello distributed log files!');
  winston.info('Hello again distributed logs');

  winston.level = 'debug';
  winston.log('debug', 'Now my debug messages are written to console!');

并提供一些传输https://github.com/winstonjs/winston/blob/master/docs/transports.md