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

问题描述 投票:6回答:2

我曾尝试搜索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

What is the difference between log4j, slf4j and 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版本之后的某个时候出现了。

有人能对此有所启发吗?我的假设正确吗?

java spring-boot logging logback log4j2
2个回答
4
投票

这是原因:

Phil Webb:我真的不觉得被提出的论点证明引入重大更改是合理的。 [...]如果我们是从今天开始Spring Boot,我们很可能已经选择了Log4J2Logback,但我认为到目前为止,还没有令人信服的理由导致我们的用户升级痛苦。 [...]我认为这不太可能我们将考虑切换默认的日志记录系统,直到下一个Spring Boot的主要版本。

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

Source


0
投票

Log4j 2.12.0添加了对利用Spring Cloud Config进行动态重新配置来承载Log4j配置的支持,并增加了对Docker的支持。随着Log4j 2.13.0的发布,Log4j通过提供Spring Lookup进一步与Spring集成,因此Log4j配置可以访问spring属性。另外,还可以从Spring的bo​​otstrap.yml或application.yml文件中读取某些Log4j系统属性。 2.13.0还提供了Kubernetes查找,以允许在Log4j配置中将Kubernetes属性指定为要包括在日志事件中的属性。

请参见Logging in the CloudLog4j Spring Cloud Config Client

© www.soinside.com 2019 - 2024. All rights reserved.