我的春季网络应用程序如何捕获我没有捕获并记录的错误?这是apache公地的结果吗?

时间:2012-07-30 15:10:34

标签: spring log4j

我很困惑如何在没有隐含地捕获错误并注销错误的情况下记录错误。我所做的就是在我的项目中定义一个log4j.xml文件来定义appender,现在日志会捕获并记录框架中的所有内容。 如果我说,尝试在Hibernate中查询并且查询失败,或者我尝试打开不存在的文件,或者我得到一个空指针异常,如果log4j.xml文件定义了一个日志文件,并且错误级别设置正确,然后会在那里捕获错误?

我的春季网络应用程序如何捕获我没有捕获并记录的错误?这是apache commons登录的结果吗?

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

1 个答案:

答案 0 :(得分:1)

从春季官方文件:

  

关于commons-logging的好处是你不需要任何其他东西来使你的应用程序工作。它有一个运行时发现算法,可以在类路径中的众所周知的位置查找其他日志框架,并使用它认为合适的一个(或者如果需要,可以告诉它哪一个)。如果没有其他可用的东西,你只需从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