Struts2不打印异常堆栈信息

时间:2021-02-28 20:35:34

这个问题是由于xwork中的ExceptionMappingInterceptor拦截器默认将异常打印关闭了

解决办法:

1 单个action可以这样配置

<action name="ebikess" class="com.huaze.ebike.action.EbikeAction">
	<interceptor-ref name="defaultStack">  
		<param name="exception.logEnabled">true</param>  
		<param name="exception.logLevel">error</param>  
	</interceptor-ref>
</action>

通过这样配置可以让"ebikess"的action成功打印日志。其他action不行


2 让所有action打印日志,可以这样配置

<package name="basePackage" extends="struts-default">	
	<action name="*!*" class="com.huaze.ebike.action.{1}" />
		<interceptor-ref name="defaultStack">  
			<param name="exception.logEnabled">true</param>  
			<param name="exception.logLevel">error</param>  
		</interceptor-ref>
	</action>
</package>

这样配置请注意{1}


3 也可以通过如下配置,原因不明

<package name="basePackage" extends="struts-default">
	<interceptors>
		<interceptor-stack name="default">
			<interceptor-ref name="exception">
				<param name="logEnabled">true</param>
				<param name="logLevel">warn</param>
			</interceptor-ref>
			<interceptor-ref name="defaultStack"></interceptor-ref>
		</interceptor-stack>
	</interceptors>
	<default-interceptor-ref name="default"></default-interceptor-ref>
	<action name="*!*" class="com.huaze.ebike.action.{1}" />
</package>