refactor: 优化系统日志信息记录

1.简化记录 request_url
2.优化记录操作人信息
This commit is contained in:
Charles7c 2023-12-22 21:58:07 +08:00
parent ac4283679a
commit fd0e05f95a
4 changed files with 15 additions and 12 deletions

View File

@ -16,6 +16,7 @@
package top.charles7c.continew.admin.monitor.config;
import java.net.URI;
import java.time.LocalDateTime;
import java.time.ZoneId;
import java.util.List;
@ -73,7 +74,11 @@ public class LogDaoLocalImpl implements LogDao {
// 请求信息
LogRequest logRequest = logRecord.getRequest();
logDO.setRequestMethod(logRequest.getMethod());
String requestUrl = logRequest.getUri().toString();
// 仅记录/xxx?xx=xx&xx=xx
URI requestUri = logRequest.getUri();
String requestQuery = requestUri.getQuery();
String requestUrl = StrUtil.isNotBlank(requestQuery)
? requestUri.getPath() + StringConstants.QUESTION_MARK + requestQuery : requestUri.getPath();
logDO.setRequestUrl(requestUrl);
Map<String, List<String>> requestHeaders = logRequest.getHeaders();
logDO.setRequestHeaders(JSONUtil.toJsonStr(requestHeaders));
@ -99,17 +104,17 @@ public class LogDaoLocalImpl implements LogDao {
logDO.setErrorMsg(result.getMsg());
}
// 操作人
if (StrUtil.contains(requestUrl, SysConstants.LOGOUT_URI)) {
if (requestUrl.startsWith(SysConstants.LOGOUT_URI)) {
Long loginId = Convert.toLong(result.getData(), -1L);
logDO.setCreateUser(-1 != loginId ? loginId : null);
} else if (result.isSuccess() && requestUrl.startsWith(SysConstants.LOGIN_URI)) {
AccountLoginReq loginReq = JSONUtil.toBean(requestBody, AccountLoginReq.class);
logDO.setCreateUser(
ExceptionUtils.exToNull(() -> userService.getByUsername(loginReq.getUsername()).getId()));
}
}
// 操作人
if (StrUtil.contains(requestUrl, SysConstants.LOGIN_URI)) {
AccountLoginReq loginReq = JSONUtil.toBean(requestBody, AccountLoginReq.class);
logDO.setCreateUser(
ExceptionUtils.exToNull(() -> userService.getByUsername(loginReq.getUsername()).getId()));
} else if (!StrUtil.contains(requestUrl, SysConstants.LOGOUT_URI) && MapUtil.isNotEmpty(requestHeaders)
if (!requestUrl.startsWith(SysConstants.LOGOUT_URI) && MapUtil.isNotEmpty(requestHeaders)
&& requestHeaders.containsKey(HttpHeaders.AUTHORIZATION)) {
String authorization = requestHeaders.get(HttpHeaders.AUTHORIZATION).get(0);
String token = authorization.replace(SaManager.getConfig().getTokenPrefix() + StringConstants.SPACE,

View File

@ -50,7 +50,7 @@ public class SystemLogDetailResp extends LogResp {
/**
* 请求 URL
*/
@Schema(description = "请求 URL", example = "http://api.charles7c.top/system/dept")
@Schema(description = "请求 URL", example = "/system/dept")
private String requestUrl;
/**

View File

@ -50,7 +50,7 @@ public class SystemLogResp extends LogResp {
/**
* 请求 URL
*/
@Schema(description = "请求 URL", example = "http://api.charles7c.top/system/dept")
@Schema(description = "请求 URL", example = "/system/dept")
private String requestUrl;
/**

View File

@ -68,9 +68,7 @@
<a-table-column title="请求 URI">
<template #cell="{ record }">
<span :title="decodeURIComponent(record.requestUrl)">{{
record.requestUrl.match(
/(\w+):\/\/([^/:]+)(:\d*)?([^#|\?|\n]*)(\?.*)?/,
)[4]
record.requestUrl.match(/([^#|\?|\n]*)(\?.*)?/)[1]
}}</span>
</template>
</a-table-column>