Spring 3 SimpleMappingExceptionResolver warnLogCategory log4j

2024-01-02

<bean id="exceptionResolver" class="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <property name="exceptionMappings">
            <map>
              <entry key="java.lang.Exception" value="error"/>
            </map>
          </property>
<property name="warnLogCategory" value="abcdefg"/>
</bean>

我想将上面的异常记录到 .log 文件中,但它不会记录 =(。有人可以评论一下我的 log4j 属性可能有什么问题......或者其他什么吗?

使用Spring 3.0.5

thanks

log4j.rootLogger=DEBUG, stdout, pqe
log4j.category.abcdefg=WARN, pqe

log4j.appender.pqe=org.apache.log4j.DailyRollingFileAppender
log4j.appender.pqe.DatePattern=_yyyyMMdd
log4j.appender.pqe.File=D:\\pqe.log
log4j.appender.pqe.layout=org.apache.log4j.PatternLayout
log4j.appender.pqe.layout.ConversionPattern=%d|%5p|%c %m%n

我的解决方案是重写方法日志异常 in 简单映射异常解析器

新解析器:

public class LoggingExceptionResolver extends SimpleMappingExceptionResolver {
private Logger logger = LoggerFactory.getLogger(LoggingExceptionResolver.class);

@Override
protected void logException(Exception ex, HttpServletRequest request) {
    this.logger.warn(buildLogMessage(ex, request), ex);
}

}

弹簧配置:

<bean id="exceptionResolver" class="com.zyam.isu.core.utils.log.LoggingExceptionResolver">
    <property name="defaultErrorView">
        <value>error.jsp</value>
    </property>
    <property name="exceptionMappings">
        <props>
            <prop key="java.lang.RuntimeException">error.jsp</prop>
            <prop key="java.lang.Exception">error.jsp</prop>
        </props>
    </property>
</bean>

日志记录文件

    <logger name="org.springframework.web.servlet.handler.SimpleMappingExceptionResolver">
    <level value="warn" />
</logger>

我认为logback配置与log4j类似,希望可以帮助你

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring 3 SimpleMappingExceptionResolver warnLogCategory log4j 的相关文章

随机推荐