优化 500 页面。
This commit is contained in:
@@ -31,6 +31,28 @@ public class ExceptionUtils {
|
|||||||
}
|
}
|
||||||
return ex;
|
return ex;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String getExceptionMessage(Throwable ex){
|
||||||
|
String message = null;
|
||||||
|
Throwable e = ex;
|
||||||
|
while (true){
|
||||||
|
if (e == null){
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (StringUtils.startsWith(e.getMessage(), "msg:")){
|
||||||
|
message = StringUtils.replace(e.getMessage(), "msg:", "");
|
||||||
|
break;
|
||||||
|
}else if ("com.jeesite.common.service.ServiceException"
|
||||||
|
.equals(e.getClass().getName())){
|
||||||
|
message = e.getMessage();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
if (StringUtils.isBlank(message)){
|
||||||
|
e = e.getCause();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 将ErrorStack转化为String.
|
* 将ErrorStack转化为String.
|
||||||
|
|||||||
@@ -7,17 +7,12 @@ var ex;
|
|||||||
if (isBlank(message)){
|
if (isBlank(message)){
|
||||||
ex = @ExceptionUtils.getThrowable(request);
|
ex = @ExceptionUtils.getThrowable(request);
|
||||||
if (ex != null){
|
if (ex != null){
|
||||||
for (e in [ex, ex.cause!, ex.cause.cause!]){
|
var m = @ExceptionUtils.getExceptionMessage(ex);
|
||||||
if (@StringUtils.startsWith(e.message!, "msg:")){
|
if (isNotBlank(m)){
|
||||||
message = @StringUtils.replace(e.message!, "msg:", "");
|
message = m;
|
||||||
break;
|
|
||||||
}else if (type.fullName(e) == 'com.jeesite.common.service.ServiceException'){
|
|
||||||
message = e.message!;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
if (!@StringUtils.equals(message, "演示模式,不允许操作!")){
|
if (!@StringUtils.equals(message, "演示模式,不允许操作!")){
|
||||||
@org.slf4j.LoggerFactory.getLogger("error/500").error(ex.message, ex);
|
@org.slf4j.LoggerFactory.getLogger("error/500").error('', ex);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user