优化 500 页面。
This commit is contained in:
@@ -31,6 +31,28 @@ public class ExceptionUtils {
|
||||
}
|
||||
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.
|
||||
|
||||
@@ -7,17 +7,12 @@ var ex;
|
||||
if (isBlank(message)){
|
||||
ex = @ExceptionUtils.getThrowable(request);
|
||||
if (ex != null){
|
||||
for (e in [ex, ex.cause!, ex.cause.cause!]){
|
||||
if (@StringUtils.startsWith(e.message!, "msg:")){
|
||||
message = @StringUtils.replace(e.message!, "msg:", "");
|
||||
break;
|
||||
}else if (type.fullName(e) == 'com.jeesite.common.service.ServiceException'){
|
||||
message = e.message!;
|
||||
break;
|
||||
}
|
||||
var m = @ExceptionUtils.getExceptionMessage(ex);
|
||||
if (isNotBlank(m)){
|
||||
message = m;
|
||||
}
|
||||
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