JetBrains 宣布:IntelliJ 平台彻底停用 Log4j 组件,建议切换至 java.util.logging

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: JetBrains 宣布:IntelliJ 平台彻底停用 Log4j 组件,建议切换至 java.util.logging

近日,JetBrains 官方博客发文宣布: IntelliJ 平台将彻底停止使用 Log4j,并建议切换到 java.util.logging 作为标准日志框架。

image.png

JetBrains 方面表示,尽管该平台对日志框架的要求相当低,但仍需要记录到文件和控制台,且须为代码库的不同部分配置日志级别的可能性。而作为 JDK(java.util.logging)一部分的标准日志 API 则涵盖了所有这些要求。

因此,为避免错误安全警报并减少潜在攻击面,JetBrains 官方决定完全停止使用 Log4j,转而使用 java.util.logging 作为标准日志框架(该更改将在 2022.1 版中发布)。

JetBrains 在博文中提到,由于大量第三方插件(直接或间接)使用 Log4j,因此他们将提供 Log4j API 的存根实现,将日志输出重定向到 java.util.logging(取自 SLF4J 项目)。当然,存根暂未完全实现所有方法,因此为了维护插件的全部功能,用户可能需要调整代码以适应新环境。

对此,JetBrains 官方也为用户附上了一些更新建议(检查代码或依赖项是否使用Log4j 以按照以下说明更新代码):

  • 如果您在自己的插件代码中使用 Log4j:切换至使用标准平台日志 API com.intellij.openapi.diagnostic.Logger
  • 如果您在自己的代码中使用 Log4j,且该代码在插件和其他上下文中都使用:请切换至使用 SLF4J API。IntelliJ 平台附带了通过 java.util.logging 实现的 SLF4J API ,因此平台完全支持 SLF4J 日志记录。
  • 如果在代码的依赖项中使用 Log4j:请求依赖项维护者切换至SLF4J。如果该操作无法实现,则通过 Log4j-SLF4J 日志桥来实现,从依赖项进行日志记录则可继续工作。
  • 如果通过 Log4j API 定制使用 SLF4J 依赖项的日志记录,请切换至使用 java.util.logging 配置处理程序和日志级别的日志 API。
  • 如果使用 Log4j xml 文件来配置测试中的日志记录:使用切换到配置使用,如LogManager 文档中描述的属性文件。当使用 IntelliJ 测试框架运行测试时,可以使用 idea.log.config.properties.file 系统属性的路径。

以上这些变更均在即将发布的 221.4165.x EAP 版本里呈现(建议使用这些版本测试插件与平台更改的兼容性)。

众所周知,去年底 Log4j2 中被曝出了几个重大漏洞,随后 JetBrains 官方就宣布称他们使用的是经过修补的 Log4j 1.2 版本,因此基于 IntelliJ 平台的 IDE 不受此漏洞的影响,并删除了所有与网络相关的代码。

image.png

据悉,Log4j 库的版本 1 和 版本 2 是两个完全不同的代码库,由于两者具有不兼容的 API,因此从一个版本迁移到另一个版本实属不易。尽管如此,一些自动化的安全工具仍然将 JetBrains 使用“旧”版本的 Log4j 标记为安全问题。

此次变更,也将彻底断绝用户对于 JetBrains 方面安全问题的担忧。对于此次变更,如果您有哪些观点的话也欢迎在评论区交流互动。

参考链接:https://blog.jetbrains.com/pl...

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
|
2月前
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
161 6
|
3月前
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)
|
4月前
|
Java Apache 开发工具
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
【Azure 事件中心】 org.slf4j.Logger 收集 Event Hub SDK(Java) 输出日志并以文件形式保存
|
23天前
|
SQL 安全 Java
JavaSecLab 一款综合Java漏洞平台
JavaSecLab是一款综合型Java漏洞学习平台,涵盖多种漏洞场景,提供漏洞代码、修复示例、安全编码规范及友好UI。适用于安全服务、甲方安全培训、安全研究等领域,助于理解漏洞原理与修复方法。支持跨站脚本、SQL注入等多种漏洞类型……
|
1月前
|
监控 前端开发 Java
【技术开发】接口管理平台要用什么技术栈?推荐:Java+Vue3+Docker+MySQL
该文档介绍了基于Java后端和Vue3前端构建的管理系统的技术栈及功能模块,涵盖管理后台的访问、登录、首页概览、API接口管理、接口权限设置、接口监控、计费管理、账号管理、应用管理、数据库配置、站点配置及管理员个人设置等内容,并提供了访问地址及操作指南。
|
1月前
|
人工智能 监控 数据可视化
Java智慧工地信息管理平台源码 智慧工地信息化解决方案SaaS源码 支持二次开发
智慧工地系统是依托物联网、互联网、AI、可视化建立的大数据管理平台,是一种全新的管理模式,能够实现劳务管理、安全施工、绿色施工的智能化和互联网化。围绕施工现场管理的人、机、料、法、环五大维度,以及施工过程管理的进度、质量、安全三大体系为基础应用,实现全面高效的工程管理需求,满足工地多角色、多视角的有效监管,实现工程建设管理的降本增效,为监管平台提供数据支撑。
40 3
|
2月前
|
存储 消息中间件 安全
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
【10月更文挑战第9天】本文介绍了如何利用JUC组件实现Java服务与硬件通过MQTT的同步通信(RRPC)。通过模拟MQTT通信流程,使用`LinkedBlockingQueue`作为消息队列,详细讲解了消息发送、接收及响应的同步处理机制,包括任务超时处理和内存泄漏的预防措施。文中还提供了具体的类设计和方法实现,帮助理解同步通信的内部工作原理。
JUC组件实战:实现RRPC(Java与硬件通过MQTT的同步通信)
|
17天前
|
人工智能 移动开发 安全
家政上门系统用户端、阿姨端源码,java家政管理平台源码
家政上门系统基于互联网技术,整合大数据分析、AI算法和现代通信技术,提供便捷高效的家政服务。涵盖保洁、月嫂、烹饪等多元化服务,支持多终端访问,具备智能匹配、在线支付、订单管理等功能,确保服务透明、安全,适用于家庭生活的各种需求场景,推动家政市场规范化发展。
|
1月前
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
完全开源!国内首个完全开源JAVA企业级低代码平台
下一篇
DataWorks