mirror of
				https://github.com/continew-org/continew-admin.git
				synced 2025-11-04 10:57:10 +08:00 
			
		
		
		
	refactor: 优化系统日志信息记录
1.简化记录 request_url 2.优化记录操作人信息
This commit is contained in:
		@@ -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,
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -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;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
 
 | 
			
		||||
@@ -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>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user