如何配置Kafka Connector仅保留两周的connect.log日志?
Kafka Connector日志保留两周的配置方法
Kafka Connector的日志并非由Kafka核心组件直接管控,而是依赖其默认使用的日志框架(通常为Log4j,部分版本可能采用Logback)来控制日志滚动与保留策略。要实现仅保留两周日志的需求,需修改对应日志框架的配置文件,具体操作如下:
针对Log4j 1.x版本
- 定位Connector的日志配置文件,通常路径为
kafka-path/config/log4j.properties - 修改
DailyRollingFileAppender的配置,将MaxBackupIndex设置为14(对应两周的备份日志):
log4j.appender.connect=org.apache.log4j.DailyRollingFileAppender log4j.appender.connect.File=${kafka.logs.dir}/connect.log log4j.appender.connect.DatePattern='.'yyyy-MM-dd-HH # 设置保留14个备份文件(覆盖两周周期) log4j.appender.connect.MaxBackupIndex=14 log4j.appender.connect.layout=org.apache.log4j.PatternLayout log4j.appender.connect.layout.ConversionPattern=[%d] %p %m (%c)%n
针对Log4j 2.x版本
- 找到配置文件
kafka-path/config/log4j2.xml - 在
RollingFileAppender的DefaultRolloverStrategy中设置max属性为14:
<Appenders> <RollingFile name="ConnectAppender" fileName="${sys:kafka.logs.dir}/connect.log" filePattern="${sys:kafka.logs.dir}/connect.log.%d{yyyy-MM-dd-HH}"> <PatternLayout pattern="[%d] %p %m (%c)%n"/> <Policies> <TimeBasedTriggeringPolicy interval="1" modulate="true"/> </Policies> <!-- 保留14份滚动日志文件 --> <DefaultRolloverStrategy max="14"/> </RollingFile> </Appenders>
针对Logback版本
- 定位配置文件
kafka-path/config/logback.xml - 在
TimeBasedRollingPolicy中设置maxHistory为14:
<appender name="CONNECT" class="ch.qos.logback.core.rolling.RollingFileAppender"> <file>${kafka.logs.dir}/connect.log</file> <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy"> <fileNamePattern>${kafka.logs.dir}/connect.log.%d{yyyy-MM-dd-HH}</fileNamePattern> <!-- 保留14天的历史日志 --> <maxHistory>14</maxHistory> </rollingPolicy> <encoder> <pattern>[%d] %p %m (%c)%n</pattern> </encoder> </appender>
修改完成后,重启Kafka Connector使配置生效,后续日志框架会自动清理超过两周的分片日志文件。
内容的提问来源于stack exchange,提问作者ikhvjs
相关产品推荐
相关产品推荐

