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

简介: 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...

相关实践学习
通过日志服务实现云资源OSS的安全审计
本实验介绍如何通过日志服务实现云资源OSS的安全审计。
相关文章
|
4月前
|
机器学习/深度学习 人工智能 监控
Java与AI模型部署:构建企业级模型服务与生命周期管理平台
随着企业AI模型数量的快速增长,模型部署与生命周期管理成为确保AI应用稳定运行的关键。本文深入探讨如何使用Java生态构建一个企业级的模型服务平台,实现模型的版本控制、A/B测试、灰度发布、监控与回滚。通过集成Spring Boot、Kubernetes、MLflow和监控工具,我们将展示如何构建一个高可用、可扩展的模型服务架构,为大规模AI应用提供坚实的运维基础。
370 0
|
7月前
高性能网络库设计之日志组件
高性能网络库设计之日志组件
219 2
|
SQL 监控 数据可视化
完全开源!国内首个完全开源JAVA企业级低代码平台
JeeLowCode 是一款专为企业打造的 Java 企业级低代码开发平台,通过五大核心引擎(SQL、功能、模板、图表、切面)和四大服务体系(开发、设计、图表、模版),简化开发流程,降低技术门槛,提高研发效率。平台支持多端适配、国际化、事件绑定与动态交互等功能,广泛适用于 OA、ERP、IoT 等多种管理信息系统,帮助企业加速数字化转型。
|
存储 运维 监控
超越传统模型:从零开始构建高效的日志分析平台——基于Elasticsearch的实战指南
【10月更文挑战第8天】随着互联网应用和微服务架构的普及,系统产生的日志数据量日益增长。有效地收集、存储、检索和分析这些日志对于监控系统健康状态、快速定位问题以及优化性能至关重要。Elasticsearch 作为一种分布式的搜索和分析引擎,以其强大的全文检索能力和实时数据分析能力成为日志处理的理想选择。
963 6
|
10月前
|
IDE Java 开发工具
JetBrains IntelliJ IDEA 2025.1 发布 - 领先的 Java 和 Kotlin IDE
JetBrains IntelliJ IDEA 2025.1 (macOS, Linux, Windows) - 领先的 Java 和 Kotlin IDE
665 2
|
存储 消息中间件 网络协议
日志平台-ELK实操系列(一)
日志平台-ELK实操系列(一)
|
11月前
|
监控 Java API
如何快速搭建和使用接口管理平台:YesApi Pro Java版指南 2025
YesApi Pro Java版是一款集接口开发、管理与计费于一体的全栈解决方案,支持私有化部署和深度定制。本文详细介绍了其搭建与使用流程:从环境准备到安装部署,再到平台初始化与基础设置;核心功能涵盖接口管理、文档生成、测试调试;还包括应用权限分配、流量监控与统计分析等模块。通过标准化与灵活性结合的设计,助力企业实现API全生命周期管理,提升开发效率与运维水平,为数字化转型提供技术支持。
|
11月前
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
|
11月前
|
SQL druid Oracle
【YashanDB知识库】yasdb jdbc驱动集成druid连接池,业务(java)日志中有token IDENTIFIER start异常
客户Java日志中出现异常,影响Druid的merge SQL功能(将SQL字面量替换为绑定变量以统计性能),但不影响正常业务流程。原因是Druid在merge SQL时传入null作为dbType,导致无法解析递归查询中的`start`关键字。
|
存储 运维 监控
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践
中信银行信用卡中心每日新增日志数据 140 亿条(80TB),全量归档日志量超 40PB,早期基于 Elasticsearch 构建的日志云平台,面临存储成本高、实时写入性能差、文本检索慢以及日志分析能力不足等问题。因此使用 Apache Doris 替换 Elasticsearch,实现资源投入降低 50%、查询速度提升 2~4 倍,同时显著提高了运维效率。
807 3
金融场景 PB 级大规模日志平台:中信银行信用卡中心从 Elasticsearch 到 Apache Doris 的先进实践