Logback 是由 log4j 创始人设计的又一个开源日志组件,分成三个模块:logback-core、logback- classic 和 logback-access。
- logback-core 是其它两个模块的基础模块。
- logback-classic 是 log4j 的一个改良版本,完整实现 SLF4J API ,可以很方便地更换成其它日志系统如 log4j 或 JDK14 Logging。
- logback-access 访问模块与 Servlet 容器集成提供通过 Http 来访问日志的功能。
目前 Logback 发布了 1.3 & 1.4 两个版本,logback 1.3.x 支持 Java EE 版本,而 logback 1.4.x 支持 Jakarta EE,两个版本的功能相同。为 logback 1.2 编写的 logback 组件在 1.3 版本中无需更改即可工作。但是 logback 的配置系统 Joran 已经被重写为使用可单独处理的内部表示模型。因此,依赖于 Joran 的代码需要适应 Joran 的变化。
由于对 Joran 的增强,logback 配置脚本现在基本上是 order-free 的。例在可以在 logger 中首次引用 appender 之后对其进行定义。此外,不再实例化未引用的附加程序。
更改列表:
- Logback-classic 使用名为 DefaultJoranConfigurator 的默认配置器提供自身程序初始化。用户可以通过将自己的自定义配置器提供程序安装为可加载服务,来覆盖默认配置器。
- 因安全原因和缺乏使用, ch.qos.logback.classic.jmx 包被删除。
- 修复了CachingDateFormat 类中 java.time.DateTimeFormatter 的不正确初始化(LOGBACK-1659)。
- 修正了 FileFilterUtil.filesInFolderMatchingStemRegex 方法的性能问题(LOGBACK-1409) 。
- 在 logback-access 中,修复了使用 comitted 状态检索响应状态的问题(LOGBACK-1580)。
- 在 logback-access 中,修复了 AccessEvent 类的 getRequestContent 和buildRequestParameterMap 方法中的错误处理。
- 修复了与 LoggingEvent 中的纳秒字段相关的一些问题(LOGBACK-1661)。
- 修复了与 LoggingEvent 中的 sequenceNumber 字段相关的一些问题 (LOGBACK-1662 LOGBACK-1663)。
- 在初始化时打印 Logback-classic 版本号,该信息也可通过 ch.qos.logback.core.util.EnvUtil 中的 logbackVersion() 方法获得(LOGBACK-1597)。
更新公告:https://logback.qos.ch/news.html