筆者之前啓動kafka connect進程後,發現過一段時間,日誌太大。
啓動kafka connect的命令如下:
cd /home/tidb/confluent-4.1.1
./bin/connect-distributed -daemon ./etc/schema-registry/connect-avro-distributed.properties
但是會在如下目錄生成一個connectDistributed.out
文件,並且隨着時間流逝,會變得很大。
root@ubuntu-100:/home/tidb/confluent-4.1.1/logs# ls -lh
total 1.3M
-rw-r--r-- 1 root root 280M Sep 21 15:15 connectDistributed.out
-rw-r--r-- 1 root root 363K Sep 21 15:15 schema-registry.log
-rw-r--r-- 1 root root 318K Sep 21 15:15 schemaRegistry.out
因此筆者希望能夠配置成Daily Rolling的形式,每天生成一個輸出文件。
通過如下命令,查看到了kafka connect的配置文件路徑:
root@ubuntu-100:/home/tidb/confluent-4.1.1/bin# ./connect-distributed -h
[2018-09-21 15:14:51,314] INFO Kafka Connect distributed worker initializing ... (org.apache.kafka.connect.cli.ConnectDistributed:63)
[2018-09-21 15:14:51,330] INFO WorkerInfo values:
jvm.args = -Xms256M, -Xmx2G, -XX:+UseG1GC, -XX:MaxGCPauseMillis=20, -XX:InitiatingHeapOccupancyPercent=35, -XX:+ExplicitGCInvokesConcurrent, -Djava.awt.headless=true, -Dcom.sun.management.jmxremote, -Dcom.sun.management.jmxremote.authenticate=false, -Dcom.sun.management.jmxremote.ssl=false, -Dkafka.logs.dir=./../logs, -Dlog4j.configuration=file:./../etc/kafka/connect-log4j.properties
jvm.spec = Oracle Corporation, Java HotSpot(TM) 64-Bit Server VM, 1.8.0_171, 25.171-b11
從上面的輸出-Dkafka.logs.dir=./../logs
可以看出生成的日誌文件應該在bin
目錄同級的logs
目錄,事實上確實是這樣的。從Dlog4j.configuration=file:./../etc/kafka/connect-log4j.properties
可以看出log4j的配置文件應該在bin
目錄同級的etc
目錄下的子目錄kafka
中,配置文件名字爲connect-log4j.properties
。
在connect-log4j.properties
配置文件中加入如下內容:
log4j.rootLogger=INFO, kafkaConnectAppender
log4j.appender.kafkaConnectAppender=org.apache.log4j.DailyRollingFileAppender
log4j.appender.kafkaConnectAppender.DatePattern='.'yyyy-MM-dd
log4j.appender.kafkaConnectAppender.File=/home/tidb/confluent-4.1.1/logs/kafka-connect.log
log4j.appender.kafkaConnectAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.kafkaConnectAppender.layout.ConversionPattern=[%d] %p %m (%c)%n
log4j.logger.org.apache.zookeeper=ERROR
log4j.logger.org.I0Itec.zkclient=ERROR
log4j.logger.org.reflections=ERROR
然後重啓kafka connect(kafka connect似乎沒有重啓命令,筆者通過kill connectDistributed進程,然後再啓動的),可以看到在/home/tidb/confluent-4.1.1/logs
目錄下面確實有kafka-connect.log
文件生成,等跨天的時候應該就有按天命名的日誌文件了。