Struts2异常或错误不输出到控制台原因及解决办法

把项目框架的jar包升级后,MyEclipse控制台无法打印错误,tomcat日志也如此。导致遗漏异常并增加了Debug难度。

搜了许多之后,才发现这是Struts2搞的鬼。


xwork中的ExceptionMappingInterceptor拦截器默认将异常打印关闭了。即默认只跳转到异常处理页。在开发时我们需要将其打开,即我们刚才struts中配置的参数。

该拦截器有三个参数: 

logEnabled (optional) - Should exceptions also be logged? (boolean true|false)  

logLevel (optional) - what log level should we use (trace, debug, info, warn, error, fatal)? - defaut is debug  

logCategory (optional) - If provided we would use this category (eg. com.mycompany.app). Default is to use com.opensymphony.xwork.interceptor.ExceptionMappingInterceptor.

将下面的拦截器配置到action中

<interceptor-ref name="defaultStack">  

  <param name="exception.logEnabled">true</param>  

  <param name="exception.logLevel">error</param>  

</interceptor-ref>

然后只要在log4j中配置控制台输出即可:

log4j.logger.com.opensymphony.xwork2=ERROR

你可能感兴趣的:(DEBUG随笔)