用于将日志从节点应用程序发送到 kafka 的 winston3-kafka 库无法正常工作

winston3-kafka library used for sending logs from node app to kafka not working

我正在尝试使用 winston 传输将我的 Winston 日志消息发送到 Kafka。我发现这个库可以帮助我,因为我的 Winston 版本是 3.X,所以很多 2.X 版本都不起作用。

https://github.com/aidtechnology/winston3-kafka

这是我尝试使用的示例。

var winston = require('winston');
winston.transports.Kafka = require('winston3-kafka');


var options = {
  topic: 'logs',
  clientOptions: {
  kafkaHost: {'localhost:9092'}  // We connect directly to Kafka, rather than Zookeeper
  }
};

winston.add(new winston.transports.Kafka(options));

我得到的以下错误是。

SyntaxError: Unexpected token }
    at Module._compile (internal/modules/cjs/loader.js:723:23)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10)
    at Module.load (internal/modules/cjs/loader.js:653:32)
    at tryModuleLoad (internal/modules/cjs/loader.js:593:12)
    at Function.Module._load (internal/modules/cjs/loader.js:585:3)

不确定为什么会出现此语法错误。我正在从用法中复制和粘贴。

您需要使用:

kafkaHost:'localhost:9092'

而不是:

kafkaHost:{'localhost:9092'}

所以,是的,你有一个语法错误。

var winston = require('winston');
winston.transports.Kafka = require('winston3-kafka');


var options = {
  topic: 'logs',
  clientOptions: {
  kafkaHost: 'localhost:9092'  // We connect directly to Kafka, rather than Zookeeper
  }
};

;)