NodeJs Winston日志行号

时间:2019-10-23 16:23:44

标签: javascript node.js logging winston

我正在编写一个用于使用Winston登录Node.js的模块。我正在使用自定义格式,并像这样初始化记录器:

const logger = createLogger({
  format: combine(
    format.timestamp(),
    format.printf(msg => `${JSON.stringify({timestamp: msg.timestamp, 
                                            shortmessage: msg.message, 
                                            level: msg.level, 
                                            source: config.programName, 
                                            file: __filename,
                                            line: '' })}`)   // how to get this?
  ),
  transports: [new (transports.Console)({
    level: config.logLevel, // logs up to specified level
  })]
});


module.exports = {
  error: function (message) {
    logger.error(message);
  },
  info: function (message) {
    logger.info(message);
  },
  debug: function (message) {
    logger.debug(message);
  }
};

如评论中所述,我还需要在日志中包含行号。我进行了一些研究,发现了一些解决方法(123),但由于我使用的是自定义格式,因此似乎无法在我的情况下使用它们在记录器创建期间指定,行号可以在以后检索。

我当时正在考虑使用Winston的{​​{1}}功能,但似乎label只能包含静态数据。

如何解决?任何想法。

0 个答案:

没有答案