用于将日志从节点应用程序发送到kafka的winston3 kafka库不工作

mgdq6dx1  于 2021-06-04  发布在  Kafka
关注(0)|答案(1)|浏览(256)

我想用温斯顿传送带把我的温斯顿日志信息发给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)

不确定发生此语法错误的原因。我正在复制和粘贴的用法。

b09cbbtk

b09cbbtk1#

您需要使用:
Kafka霍斯特:'localhost:9092'
而不是:
Kafka霍斯特:{'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
  }
};

;)

相关问题