首页 > 解决方案 > 温斯顿自定义传输格式的消息

问题描述

我正在编写一个小的 winston 自定义传输来将我的日志发送到 Kafka(现有传输未更新或不符合我的需求)。

如创建新自定义传输的文档中所述,我有一个名为“log”的函数,它采用 2 个参数,信息和回调。当我观看 info 的内容时,我看到了这个:

{
  level: 'debug',
  message: '[Worker.ts - sleep] Sleeping 2929 ms',
  worker: 'default',
  timestamp: '2020-05-14 11:40:51.186',
  [Symbol(level)]: 'debug',
  [Symbol(message)]: '[2020-05-14 11:40:51.186][debug][default][Worker.ts - sleep] Sleeping 2929 ms'
}

所以我的问题是,我怎样才能访问 [Symbol(message)] 所以我不必为我的传输设置静态格式?

提前感谢您的回复。

标签: node.jstypescriptapache-kafkawinston

解决方案


message由于Symbol.for,您应该通过符号访问该属性:

info[Symbol.for('message')]

推荐阅读