Node.JS日志非常混乱

时间:2016-01-15 06:53:23

标签: node.js logging winston

我正在使用Winston来登录node.js应用程序。它是一个很棒的工具,但是由于node.js的异步特性,日志文件中特定函数的日志条目分散在其中并与其他函数混合。这使得对日志的分析非常困难,尤其是当您处于多次调用相同函数的循环中时。

例如,

function query(id, callback) {
    logger.verbose('start', id); 
    db.query({id:id}, callback)
}

var ids = [1, 2, 3, 4, 5]; 
for(var i = ids.length - 1; i >= 0; i++) {
    query(ids[i], function(err, result) {
        if(err) logger.error('db error', id, err);
        else logger.verbose('db result', id, result); 
        callback(); 
    }
}

首次参赛肯定是

start 5

所有后续日志条目的外观都将变得不可预测,因此特定查询的跟踪错误非常困难。

我的问题是:

  • 使相同函数调用的日志条目更具可追溯性的最佳做法是什么。
  • 如果无法对同一函数调用的所有日志条目进行分组,是否有任何已知的工具/实践来帮助分析这个混乱的日志?

0 个答案:

没有答案
相关问题