当前位置: 首页 > news >正文

kafka 将log4j的项目升级到log4j2

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

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

主要步骤如下:

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}”为名称的目录,其目录下存放的是日志文件。网上找了一些方法去设置变量,但是没有效果,所以最后是直接写死了路径,比如:
    log4j.appender.kafkaAppender.File=${kafka.logs.dir}/server.log
    改成了
    log4j.appender.kafkaAppender.File=kafka的目录/logs/server.log
  2. 文章最后将log4j的配置文件改了,但是实际用下来的话,日志确实是在开始会有被截断,但后续有新日志产生后会将之前被截断的日志补全,应该是当时被截断的日志还在缓存中尚未写入日志文件中。为了防止因为修改该配置文件造成的其他问题,所以暂时还是维持原样。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 把外部资源利用到极致 如何利用大公司的dll插件 大公司的应用有大量的dll 还有windows系统dll
  • java自定义日志注解
  • 计算机毕业设计Django+Vue.js考研推荐系统 考研分数线预测 中公考研爬虫 混合神经网络推荐算法 考研可视化 机器学习 深度学习 大数据毕业设计
  • 热力学计算网站使用推荐,Thermo-Calc!
  • Qt QTableWidget 去除序号列
  • 将tsx引入vue
  • JavaScript 逆向技巧总结
  • 进程信号的产生与处理
  • C语言编译和链接超详解
  • 【卡梅德生物】鼠单B细胞筛选技术及其在鼠单抗生产中的应用
  • 【知识专栏丨python数分实战】天猫订单数据分析及可视化|taobao天猫订单接口
  • 【HBZ分享】Spring启动时核心refresh方法流程
  • 0022__gitbash中文乱码显示数字问题
  • SQL注入漏洞的防范措施
  • 为什么选择在Facebook投放广告?
  • [分享]iOS开发 - 实现UITableView Plain SectionView和table不停留一起滑动
  • 【mysql】环境安装、服务启动、密码设置
  • 【跃迁之路】【477天】刻意练习系列236(2018.05.28)
  • 2017 年终总结 —— 在路上
  • 345-反转字符串中的元音字母
  • idea + plantuml 画流程图
  • IOS评论框不贴底(ios12新bug)
  • Java新版本的开发已正式进入轨道,版本号18.3
  • leetcode46 Permutation 排列组合
  • mysql_config not found
  • ReactNative开发常用的三方模块
  • SQLServer插入数据
  • Web Storage相关
  • 创建一种深思熟虑的文化
  • 好的网址,关于.net 4.0 ,vs 2010
  • 聚类分析——Kmeans
  • 微信开放平台全网发布【失败】的几点排查方法
  • 微信小程序设置上一页数据
  • 微信小程序填坑清单
  • 小程序button引导用户授权
  • 一份游戏开发学习路线
  • Java总结 - String - 这篇请使劲喷我
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​​​​​​​STM32通过SPI硬件读写W25Q64
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • # include “ “ 和 # include < >两者的区别
  • (14)目标检测_SSD训练代码基于pytorch搭建代码
  • (160)时序收敛--->(10)时序收敛十
  • (C++二叉树05) 合并二叉树 二叉搜索树中的搜索 验证二叉搜索树
  • (C11) 泛型表达式
  • (草履虫都可以看懂的)PyQt子窗口向主窗口传递参数,主窗口接收子窗口信号、参数。
  • (差分)胡桃爱原石
  • (纯JS)图片裁剪
  • (附源码)springboot 个人网页的网站 毕业设计031623
  • (附源码)springboot金融新闻信息服务系统 毕业设计651450
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (十一)c52学习之旅-动态数码管
  • (原創) 是否该学PetShop将Model和BLL分开? (.NET) (N-Tier) (PetShop) (OO)
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • .NET Core工程编译事件$(TargetDir)变量为空引发的思考