我正在尝试使用console-stamp登录到node.js,如下所示:
require('console-stamp')(console, {
datePrefix:'',
dateSuffix: '',
pattern: 'dd/mm/yyyy HH:MM:ss.l'
});
var log = {
info: function (info) {
console.info(info);
},
warning:function (warning) {
console.warn(warning);
},
error:function (error) {
console.error(error);
},
debug:function (debug) {
console.log(debug);
}
};
module.exports = log
但是,我看到的是毫秒值在日志中跨第二个边界增长,就像这样:
24/10/2018 12:21:40.673 [LOG] log
24/10/2018 12:21:40.675 [LOG] log
24/10/2018 12:21:45.680 [LOG] log
24/10/2018 12:21:45.688 [LOG] log
24/10/2018 12:21:50.692 [LOG] log
24/10/2018 12:21:50.694 [LOG] log
24/10/2018 12:21:55.699 [LOG] log
24/10/2018 12:21:55.702 [LOG] log
24/10/2018 12:22:00.706 [LOG] log
24/10/2018 12:22:00.707 [LOG] log
24/10/2018 12:22:05.711 [LOG] log
24/10/2018 12:22:05.715 [LOG] log
然后,“毫秒”值变为999,并从0重新开始。
根据{{3}},“ l”是正确的毫秒格式,该格式链接到https://github.com/starak/node-console-stamp。我还尝试使用“ L”,甚至手动打印新日期的getMilliseconds(),如下所示:
debug: function (debug) {
var currentTime = new Date();
var ms = currentTime.getMilliseconds();
console.log(ms + " !!!! " + debug);
}
我仍然得到一个通过日志增长的值。
有人见过这种情况吗?您知道如何获取合理的毫秒值吗?
答案 0 :(得分:0)
您正在以某种模式打印邮件,可能使用了您在评论中提到的setInterval
。
您首先打印2条连续的日志消息,然后等待5秒钟并打印2条新消息。因此,毫秒将以升序显示。
打印第一条消息后,下一个函数执行将花费2毫秒,因此下一个时间戳为milliseconds+2
,然后等待5秒钟和5毫秒以上的执行时间(可能略有不同),因此下一个时间戳为milliseconds + 2 + 5000 + 5
....等等。
库或您的代码没有错。