这是我的设置,所有这些都是在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的配置有关吗?
我正在本地主机上执行所有操作
请告知。
1条答案
按热度按时间iklwldmw1#
修好了。