为什么 Logback 是 Spring Boot 中的默认日志记录框架?



我试图搜索Spring文档+互联网上的文章+来自Stackoverflow的问题,但我没有找到任何关于它的信息。 对我来说,Log4J2 的配置(尤其是模式)要简单得多,个人品味。

另外,根据这些文章,我发现 Log4J2 的性能比 Logback 更好:

https://stackify.com/compare-java-logging-frameworks

https://blog.overops.com/the-logging-olympics-a-race-between-todays-top-5-logging-frameworks

log4j、slf4j 和 logback 有什么区别?

https://www.sitepoint.com/which-java-logging-framework-has-the-best-performance/

如果我们要考虑异步记录器,根据 Apache 的说法,性能有利于 Log4J2 - https://logging.apache.org/log4j/2.x/performance.html 是的,我知道他们的工作是让他们的框架看起来更好,但我相信他们是可靠的。

我的假设是 Pivotal 选择 Logback 作为默认值,因为 Log4J2 是在他们发布 Spring-Boot 1.0 版本之后的某个时候出现的。

谁能对此有所了解? 我的假设正确吗?

原因如下:

Phil Webb:我真的不觉得这些论点可以证明引入重大变革是合理的。[...]如果我们是 从今天开始的 Spring 启动,我们很可能选择了 Log4J2 而不是 回落,但我认为到目前为止还没有令人信服的理由 给我们的用户带来升级的痛点。[...]我认为不太可能 我们将考虑将默认日志记录系统切换到下一个 Spring Boot 的主要版本。

Ralph Goers:计划添加对从Spring Cloud Config配置Log4j 2的支持。

Log4j2.12.0 增加了对使用 Spring Cloud Config 托管具有动态重新配置的 Log4j 配置的支持,并增加了对 Docker 的支持。随着 Log4j 2.13.0 的发布,Log4j 通过提供 Spring 查找进一步与 Spring 集成,因此 Log4j 配置可以访问 Spring 属性。此外,一些 Log4j 系统属性也可以从 Spring 的 bootstrap.yml 或 application.yml 文件中读取。2.13.0 还提供了 Kubernetes 查找,允许在 Log4j 配置中将 Kubernetes 属性指定为要包含在日志事件中的属性。

请参阅在云中登录和 log4j Spring 云配置客户端。

最新更新