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

时间:2019-04-15 07:46:06

标签: java spring-boot logging logback log4j2

我尝试搜索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版本之后的某个时候发布的。

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

2 个答案:

答案 0 :(得分:1)

这是原因:

  

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

     

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

Source

答案 1 :(得分: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属性指定为要包括在日志事件中的属性。