错误日志修改
This commit is contained in:
@@ -9,6 +9,7 @@ import com.yunhai.bschclassmanage.utils.OtherUtil;
|
|||||||
import com.yunhai.bschclassmanage.utils.SensitiveDataUtil;
|
import com.yunhai.bschclassmanage.utils.SensitiveDataUtil;
|
||||||
import com.yunhai.bschclassmanage.utils.UserContext;
|
import com.yunhai.bschclassmanage.utils.UserContext;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||||
import org.aspectj.lang.ProceedingJoinPoint;
|
import org.aspectj.lang.ProceedingJoinPoint;
|
||||||
import org.aspectj.lang.annotation.Around;
|
import org.aspectj.lang.annotation.Around;
|
||||||
import org.aspectj.lang.annotation.Aspect;
|
import org.aspectj.lang.annotation.Aspect;
|
||||||
@@ -46,6 +47,7 @@ public class SysOperationLogAspect {
|
|||||||
"com.yunhai.bschclassmanage.controller.api.SysOperationLogController" // 审计日志查询
|
"com.yunhai.bschclassmanage.controller.api.SysOperationLogController" // 审计日志查询
|
||||||
);
|
);
|
||||||
private static final int DEFAULT_MAX_RESPONSE_SIZE = 10240;
|
private static final int DEFAULT_MAX_RESPONSE_SIZE = 10240;
|
||||||
|
private static final int MAX_ERROR_MSG = 8000;
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private ISysOperationLogService sysOperationLogService;
|
private ISysOperationLogService sysOperationLogService;
|
||||||
@@ -72,11 +74,7 @@ public class SysOperationLogAspect {
|
|||||||
return result;
|
return result;
|
||||||
} catch (Throwable e) {
|
} catch (Throwable e) {
|
||||||
entity.setStatusCode(500);
|
entity.setStatusCode(500);
|
||||||
String msg = e.getMessage();
|
entity.setErrorMsg(buildErrorMsg(e));
|
||||||
if (msg == null || msg.trim().isEmpty()) {
|
|
||||||
msg = e.getClass().getName();
|
|
||||||
}
|
|
||||||
entity.setErrorMsg(truncate(msg, 2000));
|
|
||||||
throw e;
|
throw e;
|
||||||
} finally {
|
} finally {
|
||||||
entity.setCostTime(System.currentTimeMillis() - start);
|
entity.setCostTime(System.currentTimeMillis() - start);
|
||||||
@@ -145,6 +143,12 @@ public class SysOperationLogAspect {
|
|||||||
return a != null ? a.getRequest() : null;
|
return a != null ? a.getRequest() : null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private String buildErrorMsg(Throwable e) {
|
||||||
|
String msg = e.getMessage();
|
||||||
|
String head = (msg == null || msg.trim().isEmpty()) ? e.getClass().getName() : msg;
|
||||||
|
return truncate(head + System.lineSeparator() + ExceptionUtils.getStackTrace(e), MAX_ERROR_MSG);
|
||||||
|
}
|
||||||
|
|
||||||
private String truncate(String s, int max) {
|
private String truncate(String s, int max) {
|
||||||
return s != null && s.length() > max ? s.substring(0, max) : s;
|
return s != null && s.length() > max ? s.substring(0, max) : s;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user