文章更新时间:2023-08-24 15:00
组件简介
维护者 | qos-ch组织 | 许可证类型 | EPL-1.0,LGPL-2.1+ |
首次发布 | 2009年8月21日 | 最新发布时间 | 2023年8月24日 |
GitHub Star | 2751 | GitHub Fork | 1226 |
依赖包 | 26,273 | 依赖存储库 | 144,092 |
官方仓库:https://github.com/qos-ch/logback
参考链接:
https://packages.ecosyste.ms/registries/repo1.maven.org/packages/ch.qos.logback:logback-classic
组件健康度
技术健康度 | logback-classic 是一个实现了 SLF4J API 的日志模块,它提供了高性能、灵活配置和丰富功能的日志记录能力。它支持多种输出目标,如控制台、文件、数据库、邮件等。它还支持自定义格式化、过滤、归档和压缩日志文件。logback-classic 的技术健康度较高,它是一个成熟和可靠的日志框架。 |
社区健康度 | logback-classic 的开发者是 Ceki Gülcü,他也是 log4j 和 SLF4J 的创始人。logback-classic 的源码托管在 GitHub 上,截至 2023 年 8 月 24 日,它有 4.5k 个 star,1.3k 个 fork,119 个 tag 和 38 个分支。它的最新版本是 1.4.12-SNAPSHOT,最近一次提交是在 12 小时前。logback-classic 的社区健康度较高,它有一个活跃和专业的开发团队,以及一个广泛和忠实的用户群。 |
更新和维护频率 | logback-classic 的更新和维护频率较高,它经常发布新版本来修复 bug、增加功能和优化性能。根据其发布历史,它的平均发布周期为 2-3 个月。它的最新稳定版本是 1.3.5,发布于 2023 年 5 月 26 日。它的最新快照版本是 1.4.12-SNAPSHOT,发布于 2023 年 8 月 24 日。 |
兼容性 | logback-classic 的兼容性较好,它支持 Java 8 及以上版本。它还支持 Java EE 和 Jakarta EE 的两种命名空间。它可以与其他日志框架如 log4j 和 commons-logging 进行集成和转换。它还可以与其他框架如 Spring Boot 和 Apache Tomcat 进行协作和配置。 |
文档和支持 | logback-classic 的文档和支持较全面,它提供了详细的用户手册、API 文档、示例代码、FAQ 和教程。它还提供了一个用户邮件列表,用户可以在上面提问、回答和讨论问题。此外,用户还可以在 Stack Overflow 等网站上找到很多关于 logback-classic 的问题和答案。 |
ch.qos.logback:logback-classic 该组件的健康度是很高的,它是一个值得使用和信赖的日志框架。
参考链接:
https://github.com/qos-ch/logback
https://www.baeldung.com/logback
https://logback.qos.ch/setup.html
组件许可证解读
根据我搜索到的结果,该组件的源代码和二进制文件是在 EPL v1.0 和 LGPL 2.1 下双重许可的,也就是说,用户可以在这两种许可证中任选一种来使用该组件。EPL 和 LGPL 都是一些开源软件许可证,它们都允许用户自由地使用、修改和分发该组件,但也有一些限制和要求。
EPL(Eclipse Public License)是由 Eclipse 基金会发布的一种许可证,它要求用户在修改或分发该组件时,必须保留原始版权声明和许可证声明,以及提供修改的源代码。EPL 还允许用户将该组件与其他不同许可证的组件结合使用,只要不违反其他许可证的条款。
LGPL(GNU Lesser General Public License)是由自由软件基金会发布的一种许可证,它要求用户在修改或分发该组件时,必须保留原始版权声明和许可证声明,以及提供修改的源代码。LGPL 还要求用户在将该组件与其他不同许可证的组件结合使用时,必须保证该组件可以动态链接或替换,而不是静态链接或嵌入。
该组件的开发者选择了 EPL/LGPL 双重许可证的目的是为了满足不同用户的需求和偏好。EPL 许可证可以安抚那些拒绝接受 LGPL 许可证中某些限制的组织,而 LGPL 许可证可以保证该组件的连续性和兼容性,以及方便那些已经受 GPL 或 LGPL 许可证约束的软件分发者。
请注意,该组件是设计用于在 SLF4J API 后面使用的,而 SLF4J API 是在 MIT 许可证下发布的。MIT 许可证是一种非常宽松的开源软件许可证,它只要求用户保留原始版权声明和许可证声明,不对用户使用、修改和分发该组件做任何限制。
如果您想对该组件做出重大贡献,您可以申请一个贡献者许可协议。这个协议的目的是为了规范您贡献的条款,并保护该项目免受诉讼的风险。
许可证原文链接:https://logback.qos.ch/license.html
组件漏洞版本及修复方案
漏洞编号 | 漏洞标题 | 漏洞等级 | 影响版本 | 修复版本 |
MPS-2017-2574 | QOS.ch Logback SocketServer和ServerSocketReceiver组件代码问题漏洞 | 严重 | [0.3,1.2.0) | 1.2.0 |
同类型可替代组件
- log4j:这是一个广泛使用的日志框架,它提供了多种输出目标、格式化、过滤和归档的功能。它是 logback-classic 的前身,但已经停止维护。它实现了 commons-logging API,但不兼容 SLF4J API。官网:https://logging.apache.org/log4j/1.2/
- log4j2:这是 log4j 的升级版,它修复了一些 bug,增加了一些特性,如异步日志、Lambda 表达式、自定义插件等。它同时实现了 commons-logging API 和 SLF4J API,所以可以与 logback-classic 互换。 官网:https://logging.apache.org/log4j/2.x/
- JUL(Java Util Logging):这是 Java 平台自带的日志框架,它提供了基本的日志记录和管理功能。它实现了 JDK14 Logging API,但不兼容 SLF4J API。 官网:https://docs.oracle.com/javase/8/docs/api/java/util/logging/package-summary.html
- Logback-android:这是一个专门为 Android 平台开发的日志框架,它基于 logback-classic,并做了一些优化和适配。它完全实现了 SLF4J API,所以可以与 logback-classic 互换。 官网:https://tony19.github.io/logback-android/
组件SBOM
ch.qos.reload4j:reload4j | 1.2.18.4 | 是 | maven |
org.codehaus.janino:commons-compiler | 3.1.8 | 是 | maven |
org.apache.tomcat:tomcat-juli | 10.0.10 | 否 | maven |
org.apache.tomcat:tomcat-coyote | 10.0.10 | 是 | maven |
org.eclipse.jetty:jetty-util | 11.0.12 | 否 | maven |
org.eclipse.jetty:jetty-http | 11.0.12 | 否 | maven |
jakarta.activation:jakarta.activation-api | 2.1.0 | 是 | maven |
org.apache.tomcat:tomcat-api | 10.0.10 | 否 | maven |
org.apache.tomcat:tomcat-catalina | 10.0.10 | 是 | maven |
org.apache.tomcat:tomcat-annotations-api | 10.0.10 | 否 | maven |
org.apache.tomcat:tomcat-servlet-api | 10.0.10 | 否 | maven |
…… |
该SBOM清单仅展示部分内容
完整SBOM清单及检测报告:https://www.murphysec.com/console/report/1694629826831740928/1694629832418553856?allow=1