struts2 全局异常开启日志功能

通常我们在struts.xml的配置中总是会配置全局的异常,然后跳转到某个页面,但是很多情况的时候的异常信息并没有记录到log4j的日志信息中

,这是为什么呢,是因为全局异常对应的拦截器默认日志功能是没有开启的,所以要进行配置才能开启。如下:

 <package name="struts-rootException"  extends="struts-default">
     	<interceptors>    		
     		<interceptor-stack name="myGlobalExceptionStack">
     			<interceptor-ref name="defaultStack">
     				 <param name="exception.logEnabled">true</param>
    				 <param name="exception.logLevel">ERROR</param>     				
     			</interceptor-ref>
     		</interceptor-stack>
     	</interceptors>
     	<default-interceptor-ref name="myGlobalExceptionStack"></default-interceptor-ref>
		<global-results>
			<result name="root-exception">/WEB-INF/pages/404.jsp
			</result>
		</global-results>

		<global-exception-mappings>
			<exception-mapping result="root-exception"
				exception="java.lang.Exception"></exception-mapping>
		</global-exception-mappings>
    </package>


这里就是设置默认拦截器栈中的开启日志属性,并且设置日志级别是error。

<interceptor-stack name="myGlobalExceptionStack">
     			<interceptor-ref name="defaultStack">
     				 <param name="exception.logEnabled">true</param>
    				 <param name="exception.logLevel">ERROR</param>     				
     			</interceptor-ref>
     		</interceptor-stack>


设置后再将原来的默认拦截器栈起一个名字“myGlobalExceptionStack”,然后再将“myGlobalExceptionStack”设置为默认的拦截器栈:

<default-interceptor-ref name="myGlobalExceptionStack"></default-interceptor-ref>


此时所有继承这个包“struts-rootException”的其他struts-xxxx.xml文件中的默认拦截器栈就是新的了。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值