Kafka Log4j appender 中的延迟
Delay in Kafka Log4j appender
这是我的设置,这一切都是在 Eclipse 中完成的
我正在尝试实现 Kafka Log4j 附加程序以将消息泵入 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.properties
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 消费者代码 运行,它基本上打印出它收到的任何消息
这是我的问题,
当我执行我的日志生产者时,我并不总是能在消费者中看到消息。有时我会看到消息,有时我不会。有时我可以重复执行生产者几秒钟,每次我看到消息时,但其他时候,消费者只得到一次,而不是下一分钟左右。然后它再次开始接收。所以我这期间推送的消息都丢失了
Kafka 发布消息时是否会有延迟?
这与我的 Kafka 或 Zookeeper 配置有关吗?
我正在本地主机上执行所有操作
请指教。
log4j.appender.KAFKA.producer.type=sync
已修复。
这是我的设置,这一切都是在 Eclipse 中完成的
我正在尝试实现 Kafka Log4j 附加程序以将消息泵入 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.properties
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 消费者代码 运行,它基本上打印出它收到的任何消息
这是我的问题,
当我执行我的日志生产者时,我并不总是能在消费者中看到消息。有时我会看到消息,有时我不会。有时我可以重复执行生产者几秒钟,每次我看到消息时,但其他时候,消费者只得到一次,而不是下一分钟左右。然后它再次开始接收。所以我这期间推送的消息都丢失了
Kafka 发布消息时是否会有延迟?
这与我的 Kafka 或 Zookeeper 配置有关吗?
我正在本地主机上执行所有操作
请指教。
log4j.appender.KAFKA.producer.type=sync
已修复。