可以让 Winston 包含创建该条目的记录器吗?

Possible to have Winston to include which logger that created the entry?

下面的 PoC 输出

{"clock":"aaaa","id":"bbb","state":"ccc","level":"info","message":"Down","timestamp":"2021-02-04 15:25:25"}

但它不包括写入该条目的记录器。 IE。在本例中是 monitorLogger.info()info 部分在 level 标记中表示,但该条目未提及 monitorLogger.

问题

是否可以winston包含创建条目的记录器的标签?

check.js

const {monitorLogger} = require('./logger');

monitorLogger.info('Down', {
  clock: 'aaaa',
  id: 'bbb',
  state: 'ccc'
});

logger.js

const { createLogger, format, transports, config } = require('winston');

const monitor = createLogger({
  transports: [
    new transports.Console()
  ],
  format: format.combine(
    format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss'
    }),
    format.json(),
  ),
  exceptionHandlers: [
    new transports.Console()
  ]
});

module.exports = {
 monitorLogger: monitor
};

在createlogger下,我们可以添加如下标签吗

const { createLogger, format, transports, config } = require('winston');

const { combine, timestamp, label, json } = format; // <---- additional import

const monitor = createLogger({
  transports: [
    new transports.Console()
  ],
  format: format.combine(
    format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss'
    }),
    format.json(),
    label({ label: 'monitor' })
  ),
  exceptionHandlers: [
    new transports.Console()
  ]
});

module.exports = {
 monitorLogger: monitor
};

Sample output would be

{"clock":"aaaa","id":"bbb","state":"ccc","level":"info","message":"Down","label":"monitor","timestamp":"2021-02-04 15:25:25"}
const { createLogger, format, transports, config } = require('winston');
const { combine, timestamp, label, json } = format;

const monitor = createLogger({
  transports: [
    new transports.Console()
  ],
  format: combine(
    format.timestamp({
      format: 'YYYY-MM-DD HH:mm:ss'
    }),
    label({ label: 'monitor' }),
    timestamp(),
    json(),
  ),
  exceptionHandlers: [
    new transports.Console()
  ]
});

module.exports = {
 monitorLogger: monitor
};

给予

{"clock":"aaaa","id":"bbb","state":"ccc","level":"info","message":"Down","timestamp":"2021-02-04 21:32:54","label":"monitor"}