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;
 | 
					package top.charles7c.continew.admin.monitor.config;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					import java.net.URI;
 | 
				
			||||||
import java.time.LocalDateTime;
 | 
					import java.time.LocalDateTime;
 | 
				
			||||||
import java.time.ZoneId;
 | 
					import java.time.ZoneId;
 | 
				
			||||||
import java.util.List;
 | 
					import java.util.List;
 | 
				
			||||||
@@ -73,7 +74,11 @@ public class LogDaoLocalImpl implements LogDao {
 | 
				
			|||||||
        // 请求信息
 | 
					        // 请求信息
 | 
				
			||||||
        LogRequest logRequest = logRecord.getRequest();
 | 
					        LogRequest logRequest = logRecord.getRequest();
 | 
				
			||||||
        logDO.setRequestMethod(logRequest.getMethod());
 | 
					        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);
 | 
					        logDO.setRequestUrl(requestUrl);
 | 
				
			||||||
        Map<String, List<String>> requestHeaders = logRequest.getHeaders();
 | 
					        Map<String, List<String>> requestHeaders = logRequest.getHeaders();
 | 
				
			||||||
        logDO.setRequestHeaders(JSONUtil.toJsonStr(requestHeaders));
 | 
					        logDO.setRequestHeaders(JSONUtil.toJsonStr(requestHeaders));
 | 
				
			||||||
@@ -99,17 +104,17 @@ public class LogDaoLocalImpl implements LogDao {
 | 
				
			|||||||
                logDO.setErrorMsg(result.getMsg());
 | 
					                logDO.setErrorMsg(result.getMsg());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            // 操作人
 | 
					            // 操作人
 | 
				
			||||||
            if (StrUtil.contains(requestUrl, SysConstants.LOGOUT_URI)) {
 | 
					            if (requestUrl.startsWith(SysConstants.LOGOUT_URI)) {
 | 
				
			||||||
                Long loginId = Convert.toLong(result.getData(), -1L);
 | 
					                Long loginId = Convert.toLong(result.getData(), -1L);
 | 
				
			||||||
                logDO.setCreateUser(-1 != loginId ? loginId : null);
 | 
					                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)) {
 | 
					        if (!requestUrl.startsWith(SysConstants.LOGOUT_URI) && MapUtil.isNotEmpty(requestHeaders)
 | 
				
			||||||
            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)
 | 
					 | 
				
			||||||
            && requestHeaders.containsKey(HttpHeaders.AUTHORIZATION)) {
 | 
					            && requestHeaders.containsKey(HttpHeaders.AUTHORIZATION)) {
 | 
				
			||||||
            String authorization = requestHeaders.get(HttpHeaders.AUTHORIZATION).get(0);
 | 
					            String authorization = requestHeaders.get(HttpHeaders.AUTHORIZATION).get(0);
 | 
				
			||||||
            String token = authorization.replace(SaManager.getConfig().getTokenPrefix() + StringConstants.SPACE,
 | 
					            String token = authorization.replace(SaManager.getConfig().getTokenPrefix() + StringConstants.SPACE,
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ public class SystemLogDetailResp extends LogResp {
 | 
				
			|||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 请求 URL
 | 
					     * 请求 URL
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    @Schema(description = "请求 URL", example = "http://api.charles7c.top/system/dept")
 | 
					    @Schema(description = "请求 URL", example = "/system/dept")
 | 
				
			||||||
    private String requestUrl;
 | 
					    private String requestUrl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -50,7 +50,7 @@ public class SystemLogResp extends LogResp {
 | 
				
			|||||||
    /**
 | 
					    /**
 | 
				
			||||||
     * 请求 URL
 | 
					     * 请求 URL
 | 
				
			||||||
     */
 | 
					     */
 | 
				
			||||||
    @Schema(description = "请求 URL", example = "http://api.charles7c.top/system/dept")
 | 
					    @Schema(description = "请求 URL", example = "/system/dept")
 | 
				
			||||||
    private String requestUrl;
 | 
					    private String requestUrl;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    /**
 | 
					    /**
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -68,9 +68,7 @@
 | 
				
			|||||||
          <a-table-column title="请求 URI">
 | 
					          <a-table-column title="请求 URI">
 | 
				
			||||||
            <template #cell="{ record }">
 | 
					            <template #cell="{ record }">
 | 
				
			||||||
              <span :title="decodeURIComponent(record.requestUrl)">{{
 | 
					              <span :title="decodeURIComponent(record.requestUrl)">{{
 | 
				
			||||||
                record.requestUrl.match(
 | 
					                record.requestUrl.match(/([^#|\?|\n]*)(\?.*)?/)[1]
 | 
				
			||||||
                  /(\w+):\/\/([^/:]+)(:\d*)?([^#|\?|\n]*)(\?.*)?/,
 | 
					 | 
				
			||||||
                )[4]
 | 
					 | 
				
			||||||
              }}</span>
 | 
					              }}</span>
 | 
				
			||||||
            </template>
 | 
					            </template>
 | 
				
			||||||
          </a-table-column>
 | 
					          </a-table-column>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user