NodeJs Номер строки журнала Winston - PullRequest
0 голосов
/ 23 октября 2019

Я пишу модуль для входа в Nodejs, используя Winston. Я использую пользовательский формат и инициализирую свой регистратор следующим образом:

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);
  }
};

Как упоминалось в комментарии, мне также нужно включить номер строки в мой журнал. Я провел некоторое исследование и нашел некоторые обходные пути ( 1 , 2 , 3 ), но, похоже, их нельзя использовать в моем случае, так как я используюпользовательский формат, который должен быть указан во время создания регистратора, а номер строки можно получить позже.

Я думал использовать функцию Winston label, но, похоже, label s можетсодержат только статические данные.

Как это можно решить? Любые идеи.

...