我有网络服务,我称之为业务服务方法。在其中一种方法中,抛出了一些带有适当消息的异常。在soap中我得到异常类型及其消息(一切正常)。但是在日志文件中写入了一堆堆栈跟踪(带有详细信息)。我不需要那个。我在日志文件中需要的只是异常类型及其消息(如在soap响应中)。但我不想更改日志属性,因为必须打印出另一个例外
所以问题是如何在日志文件中减少堆栈跟踪?
我已经努力通过Web方法捆绑的@Interceptors
注释来解决此问题。在那里显示我的Web服务方法和Interceptor类。 getLbsLocationForService
方法中会抛出异常。
@WebMethod
@Override
@Interceptors(InterceptionHandleUtil.class)
public LbsLocation getLbsLocationService(@WebParam(name="ms")String ms, @WebParam(name="serID")Long ser) throws ScAccViolation, LbsException {
return serviceProcesses.getLbsLocationForService(ms, ser);
}
拦截班:
@Interceptor
public class InterceptionHandleUtil{
@AroundInvoke
public Object intercept(InvocationContext invocationContext) throws Exception {
/*What can I do here to write down in log file just exception type and message*/
return invocationContext.proceed();
}
}