当我们运行一个示例主程序时,它读取带有单个bean的applicationContext.xml。
Spring如何进行日志记录..以及如何覆盖默认日志记录。
我也没有在spring依赖项中看到任何log4j.xml。
此致
答案 0 :(得分:2)
日志记录是Spring的一个非常重要的依赖项,因为a)它是唯一的强制外部依赖项,b)每个人都喜欢从他们使用的工具中看到一些输出,并且c)Spring集成了许多其他工具,所有这些都是还选择了日志依赖。应用程序开发人员的目标之一通常是在整个应用程序的中心位置配置统一日志记录,包括所有外部组件。由于有很多日志框架选择,因此这比以往更难。
Spring中的强制日志记录依赖项是Jakarta Commons Logging API (JCL)。我们针对JCL进行编译,并且我们还使JCL Log对象对于扩展Spring Framework的类是可见的。对于用户来说,所有版本的Spring都使用相同的日志库是很重要的:迁移很容易,因为即使扩展Spring的应用程序也可以保留向后兼容性。我们这样做的方法是让Spring中的一个模块明确依赖于commons-logging(JCL的规范实现),然后让所有其他模块在编译时依赖于它。例如,如果您正在使用Maven,并想知道在哪里获得了对commons-logging的依赖,那么它来自Spring,特别是来自名为spring-core的中央模块。
关于commons-logging的好处是你不需要任何其他东西来使你的应用程序工作。它有一个运行时发现算法,可以在类路径中的众所周知的位置查找其他日志框架,并使用它认为合适的一个(或者如果需要,可以告诉它哪一个)。 如果没有其他可用的东西,你只需从JDK(java.util.logging或简称JUL)获得相当不错的日志。在大多数情况下,您应该会发现Spring应用程序可以正常工作并开箱即用地登录到控制台,这很重要。
(强调我的)
按照几个部分描述如何使用各种日志框架。