refactor: 适配 ContiNew Starter 日志调整
This commit is contained in:
parent
4c24aea560
commit
5a767c959a
@ -16,7 +16,6 @@
|
|||||||
|
|
||||||
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;
|
||||||
@ -74,12 +73,8 @@ public class LogDaoLocalImpl implements LogDao {
|
|||||||
// 请求信息
|
// 请求信息
|
||||||
LogRequest logRequest = logRecord.getRequest();
|
LogRequest logRequest = logRecord.getRequest();
|
||||||
logDO.setRequestMethod(logRequest.getMethod());
|
logDO.setRequestMethod(logRequest.getMethod());
|
||||||
// 仅记录:/xxx?xx=xx&xx=xx
|
String requestUri = logRequest.getUri().toString();
|
||||||
URI requestUri = logRequest.getUri();
|
logDO.setRequestUri(requestUri);
|
||||||
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();
|
Map<String, List<String>> requestHeaders = logRequest.getHeaders();
|
||||||
logDO.setRequestHeaders(JSONUtil.toJsonStr(requestHeaders));
|
logDO.setRequestHeaders(JSONUtil.toJsonStr(requestHeaders));
|
||||||
String requestBody = logRequest.getBody();
|
String requestBody = logRequest.getBody();
|
||||||
@ -104,17 +99,17 @@ public class LogDaoLocalImpl implements LogDao {
|
|||||||
logDO.setErrorMsg(result.getMsg());
|
logDO.setErrorMsg(result.getMsg());
|
||||||
}
|
}
|
||||||
// 操作人
|
// 操作人
|
||||||
if (requestUrl.startsWith(SysConstants.LOGOUT_URI)) {
|
if (requestUri.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)) {
|
} else if (result.isSuccess() && requestUri.startsWith(SysConstants.LOGIN_URI)) {
|
||||||
AccountLoginReq loginReq = JSONUtil.toBean(requestBody, AccountLoginReq.class);
|
AccountLoginReq loginReq = JSONUtil.toBean(requestBody, AccountLoginReq.class);
|
||||||
logDO.setCreateUser(
|
logDO.setCreateUser(
|
||||||
ExceptionUtils.exToNull(() -> userService.getByUsername(loginReq.getUsername()).getId()));
|
ExceptionUtils.exToNull(() -> userService.getByUsername(loginReq.getUsername()).getId()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 操作人
|
// 操作人
|
||||||
if (!requestUrl.startsWith(SysConstants.LOGOUT_URI) && MapUtil.isNotEmpty(requestHeaders)
|
if (!requestUri.startsWith(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,
|
||||||
|
@ -57,9 +57,9 @@ public class LogDO implements Serializable {
|
|||||||
private String module;
|
private String module;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求URL
|
* 请求 URI
|
||||||
*/
|
*/
|
||||||
private String requestUrl;
|
private String requestUri;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求方式
|
* 请求方式
|
||||||
|
@ -48,10 +48,10 @@ public class SystemLogDetailResp extends LogResp {
|
|||||||
private String requestMethod;
|
private String requestMethod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求 URL
|
* 请求 URI
|
||||||
*/
|
*/
|
||||||
@Schema(description = "请求 URL", example = "/system/dept")
|
@Schema(description = "请求 URI", example = "/system/dept")
|
||||||
private String requestUrl;
|
private String requestUri;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求头
|
* 请求头
|
||||||
|
@ -48,10 +48,10 @@ public class SystemLogResp extends LogResp {
|
|||||||
private String requestMethod;
|
private String requestMethod;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 请求 URL
|
* 请求 URI
|
||||||
*/
|
*/
|
||||||
@Schema(description = "请求 URL", example = "/system/dept")
|
@Schema(description = "请求 URI", example = "/system/dept")
|
||||||
private String requestUrl;
|
private String requestUri;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* IP
|
* IP
|
||||||
|
@ -30,7 +30,7 @@ export interface OperationLogRecord extends LogRecord {
|
|||||||
export interface SystemLogRecord extends LogRecord {
|
export interface SystemLogRecord extends LogRecord {
|
||||||
statusCode: number;
|
statusCode: number;
|
||||||
requestMethod: string;
|
requestMethod: string;
|
||||||
requestUrl: string;
|
requestUri: string;
|
||||||
timeTaken: number;
|
timeTaken: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -67,8 +67,8 @@
|
|||||||
/>
|
/>
|
||||||
<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.requestUri)">{{
|
||||||
record.requestUrl.match(/([^#|\?|\n]*)(\?.*)?/)[1]
|
record.requestUri.match(/([^#|\?|\n]*)(\?.*)?/)[1]
|
||||||
}}</span>
|
}}</span>
|
||||||
</template>
|
</template>
|
||||||
</a-table-column>
|
</a-table-column>
|
||||||
@ -187,11 +187,11 @@
|
|||||||
</a-skeleton>
|
</a-skeleton>
|
||||||
<span v-else>{{ systemLog.requestMethod }}</span>
|
<span v-else>{{ systemLog.requestMethod }}</span>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="请求 URL" :span="2">
|
<a-descriptions-item label="请求 URI" :span="2">
|
||||||
<a-skeleton v-if="loading" :animation="true">
|
<a-skeleton v-if="loading" :animation="true">
|
||||||
<a-skeleton-line :rows="1" />
|
<a-skeleton-line :rows="1" />
|
||||||
</a-skeleton>
|
</a-skeleton>
|
||||||
<span v-else>{{ systemLog.requestUrl }}</span>
|
<span v-else>{{ systemLog.requestUri }}</span>
|
||||||
</a-descriptions-item>
|
</a-descriptions-item>
|
||||||
<a-descriptions-item label="响应体" :span="2">
|
<a-descriptions-item label="响应体" :span="2">
|
||||||
<a-skeleton v-if="loading" :animation="true">
|
<a-skeleton v-if="loading" :animation="true">
|
||||||
@ -271,7 +271,7 @@
|
|||||||
|
|
||||||
const systemLogList = ref<SystemLogRecord[]>([]);
|
const systemLogList = ref<SystemLogRecord[]>([]);
|
||||||
const systemLog = ref<SystemLogDetailRecord>({
|
const systemLog = ref<SystemLogDetailRecord>({
|
||||||
requestUrl: '',
|
requestUri: '',
|
||||||
requestMethod: '',
|
requestMethod: '',
|
||||||
requestHeaders: '',
|
requestHeaders: '',
|
||||||
requestBody: '',
|
requestBody: '',
|
||||||
|
@ -3,6 +3,11 @@ project:
|
|||||||
# URL
|
# URL
|
||||||
url: http://localhost:5173
|
url: http://localhost:5173
|
||||||
|
|
||||||
|
--- ### 日志配置
|
||||||
|
continew-starter.log:
|
||||||
|
# 是否打印日志,开启后可打印访问日志(类似于 Nginx access log)
|
||||||
|
is-print: true
|
||||||
|
|
||||||
--- ### 服务器配置
|
--- ### 服务器配置
|
||||||
server:
|
server:
|
||||||
# HTTP 端口(默认 8080)
|
# HTTP 端口(默认 8080)
|
||||||
|
@ -5,6 +5,11 @@ project:
|
|||||||
# 是否为生产环境
|
# 是否为生产环境
|
||||||
production: true
|
production: true
|
||||||
|
|
||||||
|
--- ### 日志配置
|
||||||
|
continew-starter.log:
|
||||||
|
# 是否打印日志,开启后可打印访问日志(类似于 Nginx access log)
|
||||||
|
is-print: false
|
||||||
|
|
||||||
--- ### 服务器配置
|
--- ### 服务器配置
|
||||||
server:
|
server:
|
||||||
# HTTP 端口(默认 8080)
|
# HTTP 端口(默认 8080)
|
||||||
|
@ -28,6 +28,7 @@ logging:
|
|||||||
## 日志配置
|
## 日志配置
|
||||||
continew-starter.log:
|
continew-starter.log:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
# 包含信息
|
||||||
include:
|
include:
|
||||||
- DESCRIPTION
|
- DESCRIPTION
|
||||||
- MODULE
|
- MODULE
|
||||||
@ -38,7 +39,6 @@ continew-starter.log:
|
|||||||
- OS
|
- OS
|
||||||
- RESPONSE_HEADERS
|
- RESPONSE_HEADERS
|
||||||
- RESPONSE_BODY
|
- RESPONSE_BODY
|
||||||
- TIME_TAKEN
|
|
||||||
|
|
||||||
--- ### 接口文档配置
|
--- ### 接口文档配置
|
||||||
springdoc:
|
springdoc:
|
||||||
|
@ -116,7 +116,7 @@ CREATE TABLE IF NOT EXISTS `sys_log` (
|
|||||||
`id` bigint(20) AUTO_INCREMENT COMMENT 'ID',
|
`id` bigint(20) AUTO_INCREMENT COMMENT 'ID',
|
||||||
`description` varchar(255) NOT NULL COMMENT '日志描述',
|
`description` varchar(255) NOT NULL COMMENT '日志描述',
|
||||||
`module` varchar(50) NOT NULL COMMENT '所属模块',
|
`module` varchar(50) NOT NULL COMMENT '所属模块',
|
||||||
`request_url` varchar(512) NOT NULL COMMENT '请求URL',
|
`request_uri` varchar(512) NOT NULL COMMENT '请求URI',
|
||||||
`request_method` varchar(10) NOT NULL COMMENT '请求方式',
|
`request_method` varchar(10) NOT NULL COMMENT '请求方式',
|
||||||
`request_headers` text DEFAULT NULL COMMENT '请求头',
|
`request_headers` text DEFAULT NULL COMMENT '请求头',
|
||||||
`request_body` text DEFAULT NULL COMMENT '请求体',
|
`request_body` text DEFAULT NULL COMMENT '请求体',
|
||||||
|
Loading…
Reference in New Issue
Block a user