kafka 将log4j的项目升级到log4j2

kafka版本是kafka_2.11-2.0.0,由于引用的log4j有漏洞,而升级kafka可能影响比较大,所以更新log4j包的版本。

参考的是将log4j的项目升级到log4j2

主要步骤如下:

bash 复制代码
cd kafka的目录
cd libs
rm -f slf4j-log4j12-1.7.25.jar 
rm -f slf4j-api-1.7.25.jar 
rm -f log4j-1.2.17.jar
wget https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-1.2-api/2.13.2/log4j-1.2-api-2.13.2.jar
wget https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-api/2.13.2/log4j-api-2.13.2.jar
wget https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-core/2.13.2/log4j-core-2.13.2.jar
wget https://repo1.maven.org/maven2/org/apache/logging/log4j/log4j-slf4j-impl/2.13.2/log4j-slf4j-impl-2.13.2.jar
wget https://repo1.maven.org/maven2/org/slf4j/slf4j-api/1.7.30/slf4j-api-1.7.30.jar



将bin/zookeeper-server-start.sh文件中
export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties" 修改成:
export KAFKA_LOG4J_OPTS="-Dlog4j.configuration=file:$base_dir/../config/log4j.properties -Dzookeeper.jmx.log4j.disable=true"

针对参考文章的补充:

  1. config/log4j.properties文件中引用的{kafka.logs.dir}变量没有效果,从而会导致在启动kafka的目录生成了以"{kafka.logs.dir}"为名称的目录,其目录下存放的是日志文件。网上找了一些方法去设置变量,但是没有效果,所以最后是直接写死了路径,比如:

    bash 复制代码
    log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
    改成了
    log4j.appender.kafkaAppender.File=kafka的目录/logs/server.log
  2. 文章最后将log4j的配置文件改了,但是实际用下来的话,日志确实是在开始会有被截断,但后续有新日志产生后会将之前被截断的日志补全,应该是当时被截断的日志还在缓存中尚未写入日志文件中。为了防止因为修改该配置文件造成的其他问题,所以暂时还是维持原样。

相关推荐
闻哥21 小时前
从测试坏味道到优雅实践:打造高质量单元测试
java·面试·单元测试·log4j·springboot
TTBIGDATA1 天前
【Atlas】Atlas Hook 消费 Kafka 报错:GroupAuthorizationException
hadoop·分布式·kafka·ambari·hdp·linq·ranger
indexsunny1 天前
互联网大厂Java面试实战:微服务与Spring生态技术解析
java·spring boot·redis·kafka·mybatis·hibernate·microservices
知行合一。。。1 天前
程序中的log4j、stderr、stdout日志
python·单元测试·log4j
编程彩机1 天前
互联网大厂Java面试:从Spring Boot到分布式事务的技术场景解析
spring boot·kafka·分布式事务·微服务架构·java面试·技术解析
没有bug.的程序员1 天前
RocketMQ 与 Kafka 深度对垒:分布式消息引擎内核、事务金融级实战与高可用演进指南
java·分布式·kafka·rocketmq·分布式消息·引擎内核·事务金融
yumgpkpm1 天前
华为昇腾300T A2训练、微调Qwen过程,带保姆式命令,麒麟操作系统+鲲鹏CPU
hive·hadoop·华为·flink·spark·kafka·hbase
ApachePulsar1 天前
演讲回顾|谙流科技在 Kafka on Pulsar 之上的探索
分布式·科技·kafka
独自破碎E1 天前
Spring Boot测试启动失败:SLF4J日志多实现冲突解决方案
spring boot·后端·log4j
yumgpkpm2 天前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera