0

我对如何记录错误感到困惑,而我却没有隐式地捕获它们并注销错误。我所做的只是将 log4j.xml 文件放在我的项目中定义附加程序,现在日志捕获并记录框架中的所有内容。如果我说尝试在 Hibernate 中查询并且查询失败,或者我尝试打开一个不存在的文件,或者我得到一个空指针异常,如果 log4j.xml 文件定义了一个日志文件,并且错误级别设置正确,那么错误会在那里捕获吗?

我的 Spring Web 应用程序如何捕获我没有捕获和记录的错误?这是 apache commons 日志记录的结​​果吗?

或者这是 log4j 知道如何处理的一些魔法 - 将流捕获到控制台等?任何信息表示赞赏。

4

1 回答 1

1

来自 spring 官方文档:

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


要使 Log4j 使用默认的 JCL 依赖项(commons-logging),您只需将 Log4j 放在类路径中,并为其提供配置文件(类路径根目录中的 log4j.properties 或 log4j.xml)。

看看完整的解释:http ://static.springsource.org/spring/docs/3.0.x/reference/overview.html#d0e743

于 2012-07-30T18:37:53.123 回答