如何配置 Confluent Platform Kafka 连接日志?

How to configure Confluent Platform Kafka connect logs?

我正在使用融合的 kafka 连接服务,但它没有在 /var/log/kafka 中写入日志。如何配置它以便将日志写入 /var/log/kafka ?

目前/var/log/kafka只有以下日志文​​件-

-rw-r--r-- 1 cp-kafka confluent     0 Sep 20 14:51 kafka-request.log
-rw-r--r-- 1 cp-kafka confluent     0 Sep 20 14:51 kafka-authorizer.log
-rw-r--r-- 1 cp-kafka confluent  1622 Nov 13 15:43 log-cleaner.log
-rw-r--r-- 1 cp-kafka confluent  7611 Nov 13 20:57 state-change.log
-rw-r--r-- 1 cp-kafka confluent  1227 Nov 14 11:13 server.log
-rw-r--r-- 1 cp-kafka confluent 16683 Nov 14 11:13 controller.log

进一步检查时,我发现日志已写入 /var/log/messages(我不想要)。 看看下面 connect-log4j.properties :

log4j.rootLogger=INFO, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.logger.org.apache.zookeeper=ERROR
log4j.logger.org.I0Itec.zkclient=ERROR
log4j.logger.org.reflections=ERROR

我很难在 Confluent 文档中找到这些基本内容。请帮忙!

目前,所有日志记录似乎都被重定向到标准输出。要将日志重定向到文件,您需要将 /etc/kafka/connect-log4j.properties 的内容更改为:

log4j.rootLogger=INFO, file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=/var/log/kafka/connect.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=[%d] %p %m (%c:%L)%n
log4j.appender.file.MaxFileSize=10MB
log4j.appender.file.MaxBackupIndex=5
log4j.appender.file.append=true

有关 log4j 的更多详细信息,您可以参考 this article. Also, @Robin Moffatt has written a very nice article 将 Kafka Connect 的 REST HTTP 消息记录到单独的文件中。