kafka log4j appender中的延迟

q9rjltbz  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(322)

这是我的设置,所有这些都是在eclipse中完成的
我正在尝试实现kafka log4j appender,以便将消息注入kafka。
我有一些java代码设置来创建日志消息:

public static void main(String[] args) {

SimpleDateFormat sdf = new SimpleDateFormat();

log.debug("Debug message at "+sdf.format(new Date()));

log.info("Info message at "+sdf.format(new Date()));

log.error("Error Message at "+sdf.format(new Date()));

log.fatal("Fatal Message at "+sdf.format(new Date()));

log.warn("Warn Message at "+sdf.format(new Date()));

log.trace("Trace Message at "+sdf.format(new Date()));
}

这是我的log4j属性

log4j.rootLogger=TRACE, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %% %m%n

log4j.appender.KAFKA=kafka.producer.KafkaLog4jAppender
log4j.appender.KAFKA.BrokerList=localhost:9092
log4j.appender.KAFKA.Topic=kfkLogs
log4j.appender.KAFKA.producer.type=async
log4j.appender.KAFKA.layout=org.apache.log4j.PatternLayout
log4j.appender.KAFKA.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L %% - %m%n

log4j.logger.logGen.TestLog4j=TRACE, KAFKA

在eclipse的另一个示例中,我运行了kafka消费代码,它基本上打印出它接收到的任何消息
这是我的问题,
当我执行日志生成器时,我并不总是在使用者中看到消息。有时我看到信息,有时我看不到。有时我可以重复执行producer几秒钟,每次我看到消息时,但是其他时候,消费者只得到一次消息,而不是下一分钟左右。然后它又开始接收。所以我在此期间推送的信息丢失了。
Kafka发表这些信息时,是否会有延迟?
这和我的Kafka或Zookeeper的配置有关吗?
我正在本地主机上执行所有操作
请告知。

iklwldmw

iklwldmw1#

log4j.appender.KAFKA.producer.type=sync

修好了。

相关问题