Skip to content

Commit 9c26e8b

Browse files
committed
feat: Api log 记录注解 logType 改为 String
1 parent 403e963 commit 9c26e8b

13 files changed

Lines changed: 80 additions & 94 deletions

File tree

common/plugin/log/pom.xml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,5 @@
1616
<groupId>com.github.cadecode</groupId>
1717
<artifactId>uni-boot-common-core</artifactId>
1818
</dependency>
19-
<dependency>
20-
<groupId>com.github.cadecode</groupId>
21-
<artifactId>uni-boot-common-plugin-mybatis</artifactId>
22-
</dependency>
2319
</dependencies>
2420
</project>

common/plugin/log/src/main/java/com/github/cadecode/uniboot/common/plugin/log/annotation/ApiLogger.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.github.cadecode.uniboot.common.plugin.log.annotation;
22

33

4-
import com.github.cadecode.uniboot.common.plugin.log.enums.LogTypeEnum;
5-
64
import java.lang.annotation.*;
75

86
/**
@@ -17,7 +15,7 @@
1715
public @interface ApiLogger {
1816
boolean value() default true;
1917

20-
LogTypeEnum type() default LogTypeEnum.OTHER;
18+
String type() default "";
2119

2220
String description() default "";
2321

common/plugin/log/src/main/java/com/github/cadecode/uniboot/common/plugin/log/aspect/ApiLoggerAspect.java

Lines changed: 7 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,8 @@
55
import com.github.cadecode.uniboot.common.core.util.JacksonUtil;
66
import com.github.cadecode.uniboot.common.plugin.log.annotation.ApiLogger;
77
import com.github.cadecode.uniboot.common.plugin.log.handler.AbstractApiLogHandler;
8-
import lombok.*;
8+
import com.github.cadecode.uniboot.common.plugin.log.model.BaseLogInfo;
9+
import lombok.RequiredArgsConstructor;
910
import lombok.extern.slf4j.Slf4j;
1011
import org.aspectj.lang.ProceedingJoinPoint;
1112
import org.aspectj.lang.annotation.Around;
@@ -16,8 +17,6 @@
1617
import org.springframework.web.context.request.RequestContextHolder;
1718
import org.springframework.web.context.request.ServletRequestAttributes;
1819

19-
import javax.servlet.http.HttpServletRequest;
20-
2120
/**
2221
* 请求响应信息日志 AOP 类
2322
*
@@ -91,7 +90,7 @@ public void handleLogger(ProceedingJoinPoint point, ApiLogger apiLogger, Object
9190
return;
9291
}
9392
try {
94-
String resultStr = null;
93+
String resultStr;
9594
boolean exceptional = false;
9695
if (ObjectUtil.isNotNull(throwable)) {
9796
exceptional = true;
@@ -101,34 +100,22 @@ public void handleLogger(ProceedingJoinPoint point, ApiLogger apiLogger, Object
101100
resultStr = JacksonUtil.toJson(result);
102101
} catch (Exception e) {
103102
resultStr = ExceptionUtil.stacktraceToString(e);
104-
log.error("API log [{}]: request result to json fail", apiLogger.type().getType(), e);
103+
log.error("API log [{}]: request result to json fail", apiLogger.type(), e);
105104
}
106105
}
107106
BaseLogInfo baseLogInfo = BaseLogInfo.builder().apiLogger(apiLogger).request(attributes.getRequest())
108107
.resultStr(resultStr).timeCost(timeCost).exceptional(exceptional).build();
109108
Object logObj = apiLogHandler.generateLog(point, baseLogInfo);
110109
// 打印日志
111-
log.info("API log [{}]: {}", apiLogger.type().getType(), JacksonUtil.toJson(logObj));
110+
log.info("API log [{}]: {}", apiLogger.type(), JacksonUtil.toJson(logObj));
112111
// 持久化
113112
try {
114113
apiLogHandler.save(apiLogger, logObj);
115114
} catch (Exception e) {
116-
log.error("API log [{}]: save async fail", apiLogger.type().getType(), e);
115+
log.error("API log [{}]: save async fail", apiLogger.type(), e);
117116
}
118117
} catch (Exception e) {
119-
log.error("API log [{}]: handle logger fail", apiLogger.type().getType(), e);
118+
log.error("API log [{}]: handle logger fail", apiLogger.type(), e);
120119
}
121120
}
122-
123-
@Data
124-
@AllArgsConstructor
125-
@NoArgsConstructor
126-
@Builder
127-
public static class BaseLogInfo {
128-
private ApiLogger apiLogger;
129-
private Boolean exceptional;
130-
private HttpServletRequest request;
131-
private String resultStr;
132-
private Long timeCost;
133-
}
134121
}

common/plugin/log/src/main/java/com/github/cadecode/uniboot/common/plugin/log/enums/LogTypeEnum.java

Lines changed: 0 additions & 50 deletions
This file was deleted.

common/plugin/log/src/main/java/com/github/cadecode/uniboot/common/plugin/log/handler/AbstractApiLogHandler.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
import cn.hutool.core.collection.CollUtil;
44
import com.github.cadecode.uniboot.common.plugin.log.annotation.ApiLogger;
5-
import com.github.cadecode.uniboot.common.plugin.log.aspect.ApiLoggerAspect.BaseLogInfo;
5+
import com.github.cadecode.uniboot.common.plugin.log.model.BaseLogInfo;
66
import lombok.extern.slf4j.Slf4j;
77
import org.aspectj.lang.JoinPoint;
88
import org.aspectj.lang.ProceedingJoinPoint;
@@ -45,7 +45,7 @@ public static Map<String, Object> getRequestParams(JoinPoint joinPoint, ApiLogge
4545
return Collections.emptyMap();
4646
}
4747
if (names.length != args.length) {
48-
log.error("API log [{}]: method [{}] param and the pass value do not match", apiLogger.type().getType(), methodSignature.getName());
48+
log.error("API log [{}]: method [{}] param and the pass value do not match", apiLogger.type(), methodSignature.getName());
4949
return Collections.emptyMap();
5050
}
5151
Map<String, Object> map = new HashMap<>();
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
package com.github.cadecode.uniboot.common.plugin.log.model;
2+
3+
import com.github.cadecode.uniboot.common.plugin.log.annotation.ApiLogger;
4+
import lombok.AllArgsConstructor;
5+
import lombok.Builder;
6+
import lombok.Data;
7+
import lombok.NoArgsConstructor;
8+
9+
import javax.servlet.http.HttpServletRequest;
10+
11+
/**
12+
* api log 信息
13+
*
14+
* @author Cade Li
15+
* @since 2023/8/13
16+
*/
17+
@Data
18+
@AllArgsConstructor
19+
@NoArgsConstructor
20+
@Builder
21+
public class BaseLogInfo {
22+
private ApiLogger apiLogger;
23+
private Boolean exceptional;
24+
private HttpServletRequest request;
25+
private String resultStr;
26+
private Long timeCost;
27+
}

framework/framework_api/src/main/java/com/github/cadecode/uniboot/framework/api/bean/dto/SysLogDto.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
package com.github.cadecode.uniboot.framework.api.bean.dto;
22

3-
import com.github.cadecode.uniboot.common.plugin.log.enums.LogTypeEnum;
43
import lombok.AllArgsConstructor;
54
import lombok.Builder;
65
import lombok.Data;
@@ -23,7 +22,7 @@ public class SysLogDto {
2322
@Builder
2423
public static class SysLogSaveDto {
2524

26-
private LogTypeEnum logType;
25+
private String logType;
2726

2827
private String url;
2928

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
package com.github.cadecode.uniboot.framework.api.consts;
2+
3+
/**
4+
* Api log 类型
5+
*
6+
* @author Cade Li
7+
* @since 2023/8/13
8+
*/
9+
public interface LogType {
10+
11+
/**
12+
* curd
13+
*/
14+
String QUERY = "Query";
15+
String UPDATE = "Update";
16+
String REMOVE = "Remove";
17+
String ADD = "Add";
18+
/**
19+
* 鉴权
20+
*/
21+
String AUTH = "Auth";
22+
/**
23+
* 导入导出
24+
*/
25+
String IMPORT = "Import";
26+
String EXPORT = "Export";
27+
/**
28+
* 上传下载
29+
*/
30+
String UPLOAD = "Upload";
31+
String DOWNLOAD = "Download";
32+
}

framework/framework_base/src/main/java/com/github/cadecode/uniboot/framework/base/plugin/ApiLogHandler.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import cn.hutool.http.useragent.UserAgentUtil;
99
import com.github.cadecode.uniboot.common.core.util.JacksonUtil;
1010
import com.github.cadecode.uniboot.common.plugin.log.annotation.ApiLogger;
11-
import com.github.cadecode.uniboot.common.plugin.log.aspect.ApiLoggerAspect.BaseLogInfo;
1211
import com.github.cadecode.uniboot.common.plugin.log.handler.AbstractApiLogHandler;
12+
import com.github.cadecode.uniboot.common.plugin.log.model.BaseLogInfo;
1313
import com.github.cadecode.uniboot.framework.api.bean.dto.SysLogDto.SysLogSaveDto;
1414
import com.github.cadecode.uniboot.framework.api.consts.HttpConst;
1515
import com.github.cadecode.uniboot.framework.api.feignclient.SysLogClient;
@@ -53,7 +53,7 @@ public SysLogSaveDto generateLog(ProceedingJoinPoint point, BaseLogInfo baseLogI
5353
paramsJson = JacksonUtil.toJson(getRequestParams(point, apiLogger));
5454
} catch (Exception e) {
5555
paramsJson = ExceptionUtil.stacktraceToString(e);
56-
log.error("API log [{}]: request params to json fail", apiLogger.type().getType(), e);
56+
log.error("API log [{}]: request params to json fail", apiLogger.type(), e);
5757
}
5858
// 获取描述
5959
String description = apiLogger.description();
@@ -102,7 +102,7 @@ public void save(ApiLogger apiLogger, Object o) {
102102
try {
103103
sysLogClient.save(Collections.singletonList(dto));
104104
} catch (Exception e) {
105-
log.error("API log [{}]: save fail", apiLogger.type().getType(), e);
105+
log.error("API log [{}]: save fail", apiLogger.type(), e);
106106
}
107107
}
108108
}

framework/framework_svc/src/main/java/com/github/cadecode/uniboot/framework/svc/bean/po/SysLog.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.github.cadecode.uniboot.framework.svc.bean.po;
22

33
import com.baomidou.mybatisplus.annotation.*;
4-
import com.github.cadecode.uniboot.common.plugin.log.enums.LogTypeEnum;
54
import com.github.cadecode.uniboot.common.plugin.mybatis.converter.BoolToIntTypeHandler;
65
import lombok.AllArgsConstructor;
76
import lombok.Builder;
@@ -26,7 +25,7 @@ public class SysLog {
2625
@TableId(type = IdType.ASSIGN_ID)
2726
private Long id;
2827

29-
private LogTypeEnum logType;
28+
private String logType;
3029
/**
3130
* url
3231
*/

0 commit comments

Comments
 (0)