把项目框架的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中:
true
error
然后只要在log4j中配置控制台输出即可:
log4j.logger.com.opensymphony.xwork2=ERROR