1

当我们运行一个使用单个 bean 读取 applicationContext.xml 的示例主程序时。

Spring如何进行日志记录..以及如何覆盖默认日志记录。

我也没有在 spring 依赖项中看到任何 log4j.xml ..

问候

4

1 回答 1

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 的中央模块。

公共日志记录的好处是您不需要任何其他东西来使您的应用程序工作。它有一个运行时发现算法,可以在类路径上的知名位置查找其他日志框架,并使用它认为合适的一个(或者如果需要,你可以告诉它是哪一个)。如果没有其他可用的,您可以仅从 JDK(java.util.logging 或简称 JUL)获得漂亮的日志。您应该会发现您的 Spring 应用程序在大多数情况下都能正常工作并愉快地登录到控制台,这很重要

(强调我的)

遵循描述如何使用各种日志框架的几个部分。

于 2013-11-03T14:24:53.380 回答