From 0928f2b97c9361f055fe72987844bd1f9594887c Mon Sep 17 00:00:00 2001 From: bai <173792339@qq.com> Date: Sun, 28 Jul 2024 16:46:28 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .idea/.gitignore | 8 + .idea/misc.xml | 18 ++ pom.xml | 27 +++ .../com/muyu/common/log/annotation/Log.java | 46 ++++ .../com/muyu/common/log/aspect/LogAspect.java | 220 ++++++++++++++++++ .../muyu/common/log/enums/BusinessStatus.java | 18 ++ .../muyu/common/log/enums/BusinessType.java | 58 +++++ .../muyu/common/log/enums/OperatorType.java | 23 ++ .../log/filter/PropertyPreExcludeFilter.java | 20 ++ .../common/log/service/AsyncLogService.java | 27 +++ ...ot.autoconfigure.AutoConfiguration.imports | 2 + ...ot.autoconfigure.AutoConfiguration.imports | 2 + .../com/muyu/common/log/annotation/Log.class | Bin 0 -> 926 bytes .../muyu/common/log/aspect/LogAspect.class | Bin 0 -> 9663 bytes .../common/log/enums/BusinessStatus.class | Bin 0 -> 1122 bytes .../muyu/common/log/enums/BusinessType.class | Bin 0 -> 1539 bytes .../muyu/common/log/enums/OperatorType.class | Bin 0 -> 1161 bytes .../log/filter/PropertyPreExcludeFilter.class | Bin 0 -> 824 bytes .../common/log/service/AsyncLogService.class | Bin 0 -> 1120 bytes target/cloud-common-log-3.6.3.jar | Bin 0 -> 12065 bytes target/maven-archiver/pom.properties | 3 + .../compile/default-compile/createdFiles.lst | 7 + .../compile/default-compile/inputFiles.lst | 7 + 23 files changed, 486 insertions(+) create mode 100644 .idea/.gitignore create mode 100644 .idea/misc.xml create mode 100644 pom.xml create mode 100644 src/main/java/com/muyu/common/log/annotation/Log.java create mode 100644 src/main/java/com/muyu/common/log/aspect/LogAspect.java create mode 100644 src/main/java/com/muyu/common/log/enums/BusinessStatus.java create mode 100644 src/main/java/com/muyu/common/log/enums/BusinessType.java create mode 100644 src/main/java/com/muyu/common/log/enums/OperatorType.java create mode 100644 src/main/java/com/muyu/common/log/filter/PropertyPreExcludeFilter.java create mode 100644 src/main/java/com/muyu/common/log/service/AsyncLogService.java create mode 100644 src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports create mode 100644 target/classes/com/muyu/common/log/annotation/Log.class create mode 100644 target/classes/com/muyu/common/log/aspect/LogAspect.class create mode 100644 target/classes/com/muyu/common/log/enums/BusinessStatus.class create mode 100644 target/classes/com/muyu/common/log/enums/BusinessType.class create mode 100644 target/classes/com/muyu/common/log/enums/OperatorType.class create mode 100644 target/classes/com/muyu/common/log/filter/PropertyPreExcludeFilter.class create mode 100644 target/classes/com/muyu/common/log/service/AsyncLogService.class create mode 100644 target/cloud-common-log-3.6.3.jar create mode 100644 target/maven-archiver/pom.properties create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst create mode 100644 target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst diff --git a/.idea/.gitignore b/.idea/.gitignore new file mode 100644 index 0000000..35410ca --- /dev/null +++ b/.idea/.gitignore @@ -0,0 +1,8 @@ +# 默认忽略的文件 +/shelf/ +/workspace.xml +# 基于编辑器的 HTTP 客户端请求 +/httpRequests/ +# Datasource local storage ignored files +/dataSources/ +/dataSources.local.xml diff --git a/.idea/misc.xml b/.idea/misc.xml new file mode 100644 index 0000000..b4cc47a --- /dev/null +++ b/.idea/misc.xml @@ -0,0 +1,18 @@ + + + + + + + + + + \ No newline at end of file diff --git a/pom.xml b/pom.xml new file mode 100644 index 0000000..27ab5a5 --- /dev/null +++ b/pom.xml @@ -0,0 +1,27 @@ + + + + com.muyu + cloud-common + 3.6.3 + + 4.0.0 + + cloud-common-log + + + cloud-common-log日志记录 + + + + + + + com.muyu + cloud-common-security + + + + diff --git a/src/main/java/com/muyu/common/log/annotation/Log.java b/src/main/java/com/muyu/common/log/annotation/Log.java new file mode 100644 index 0000000..ac6394e --- /dev/null +++ b/src/main/java/com/muyu/common/log/annotation/Log.java @@ -0,0 +1,46 @@ +package com.muyu.common.log.annotation; + +import com.muyu.common.log.enums.BusinessType; +import com.muyu.common.log.enums.OperatorType; + +import java.lang.annotation.*; + +/** + * 自定义操作日志记录注解 + * + * @author muyu + */ +@Target({ElementType.PARAMETER, ElementType.METHOD}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface Log { + /** + * 模块 + */ + public String title () default ""; + + /** + * 功能 + */ + public BusinessType businessType () default BusinessType.OTHER; + + /** + * 操作人类别 + */ + public OperatorType operatorType () default OperatorType.MANAGE; + + /** + * 是否保存请求的参数 + */ + public boolean isSaveRequestData () default true; + + /** + * 是否保存响应的参数 + */ + public boolean isSaveResponseData () default true; + + /** + * 排除指定的请求参数 + */ + public String[] excludeParamNames () default {}; +} diff --git a/src/main/java/com/muyu/common/log/aspect/LogAspect.java b/src/main/java/com/muyu/common/log/aspect/LogAspect.java new file mode 100644 index 0000000..f82ffab --- /dev/null +++ b/src/main/java/com/muyu/common/log/aspect/LogAspect.java @@ -0,0 +1,220 @@ +package com.muyu.common.log.aspect; + +import com.alibaba.fastjson2.JSON; +import com.muyu.common.core.utils.ServletUtils; +import com.muyu.common.core.utils.StringUtils; +import com.muyu.common.core.utils.ip.IpUtils; +import com.muyu.common.log.annotation.Log; +import com.muyu.common.log.enums.BusinessStatus; +import com.muyu.common.log.filter.PropertyPreExcludeFilter; +import com.muyu.common.log.service.AsyncLogService; +import com.muyu.common.security.utils.SecurityUtils; +import com.muyu.common.system.domain.SysOperLog; +import org.apache.commons.lang3.ArrayUtils; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.annotation.AfterReturning; +import org.aspectj.lang.annotation.AfterThrowing; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.core.NamedThreadLocal; +import org.springframework.http.HttpMethod; +import org.springframework.stereotype.Component; +import org.springframework.validation.BindingResult; +import org.springframework.web.multipart.MultipartFile; + +import jakarta.servlet.http.HttpServletRequest; +import jakarta.servlet.http.HttpServletResponse; +import java.util.Collection; +import java.util.Map; + +/** + * 操作日志记录处理 + * + * @author muyu + */ +@Aspect +@Component +public class LogAspect { + /** + * 排除敏感属性字段 + */ + public static final String[] EXCLUDE_PROPERTIES = {"password", "oldPassword", "newPassword", "confirmPassword"}; + private static final Logger log = LoggerFactory.getLogger(LogAspect.class); + /** + * 计算操作消耗时间 + */ + private static final ThreadLocal TIME_THREADLOCAL = new NamedThreadLocal("Cost Time"); + + @Autowired + private AsyncLogService asyncLogService; + + /** + * 处理请求前执行 + */ + @Before(value = "@annotation(controllerLog)") + public void boBefore (JoinPoint joinPoint, Log controllerLog) { + TIME_THREADLOCAL.set(System.currentTimeMillis()); + } + + /** + * 处理完请求后执行 + * + * @param joinPoint 切点 + */ + @AfterReturning(pointcut = "@annotation(controllerLog)", returning = "jsonResult") + public void doAfterReturning (JoinPoint joinPoint, Log controllerLog, Object jsonResult) { + handleLog(joinPoint, controllerLog, null, jsonResult); + } + + /** + * 拦截异常操作 + * + * @param joinPoint 切点 + * @param e 异常 + */ + @AfterThrowing(value = "@annotation(controllerLog)", throwing = "e") + public void doAfterThrowing (JoinPoint joinPoint, Log controllerLog, Exception e) { + handleLog(joinPoint, controllerLog, e, null); + } + + protected void handleLog (final JoinPoint joinPoint, Log controllerLog, final Exception e, Object jsonResult) { + try { + // *========数据库日志=========*// + SysOperLog operLog = new SysOperLog(); + operLog.setStatus(BusinessStatus.SUCCESS.ordinal()); + // 请求的地址 + String ip = IpUtils.getIpAddr(); + operLog.setOperIp(ip); + operLog.setOperUrl(StringUtils.substring(ServletUtils.getRequest().getRequestURI(), 0, 255)); + String username = SecurityUtils.getUsername(); + if (StringUtils.isNotBlank(username)) { + operLog.setOperName(username); + } + + if (e != null) { + operLog.setStatus(BusinessStatus.FAIL.ordinal()); + operLog.setErrorMsg(StringUtils.substring(e.getMessage(), 0, 2000)); + } + // 设置方法名称 + String className = joinPoint.getTarget().getClass().getName(); + String methodName = joinPoint.getSignature().getName(); + operLog.setMethod(className + "." + methodName + "()"); + // 设置请求方式 + operLog.setRequestMethod(ServletUtils.getRequest().getMethod()); + // 处理设置注解上的参数 + getControllerMethodDescription(joinPoint, controllerLog, operLog, jsonResult); + // 设置消耗时间 + operLog.setCostTime(System.currentTimeMillis() - TIME_THREADLOCAL.get()); + // 保存数据库 + asyncLogService.saveSysLog(operLog); + } catch (Exception exp) { + // 记录本地异常日志 + log.error("异常信息:{}", exp.getMessage()); + exp.printStackTrace(); + } finally { + TIME_THREADLOCAL.remove(); + } + } + + /** + * 获取注解中对方法的描述信息 用于Controller层注解 + * + * @param log 日志 + * @param operLog 操作日志 + * + * @throws Exception + */ + public void getControllerMethodDescription (JoinPoint joinPoint, Log log, SysOperLog operLog, Object jsonResult) throws Exception { + // 设置action动作 + operLog.setBusinessType(log.businessType().ordinal()); + // 设置标题 + operLog.setTitle(log.title()); + // 设置操作人类别 + operLog.setOperatorType(log.operatorType().ordinal()); + // 是否需要保存request,参数和值 + if (log.isSaveRequestData()) { + // 获取参数的信息,传入到数据库中。 + setRequestValue(joinPoint, operLog, log.excludeParamNames()); + } + // 是否需要保存response,参数和值 + if (log.isSaveResponseData() && StringUtils.isNotNull(jsonResult)) { + operLog.setJsonResult(StringUtils.substring(JSON.toJSONString(jsonResult), 0, 2000)); + } + } + + /** + * 获取请求的参数,放到log中 + * + * @param operLog 操作日志 + * + * @throws Exception 异常 + */ + private void setRequestValue (JoinPoint joinPoint, SysOperLog operLog, String[] excludeParamNames) throws Exception { + String requestMethod = operLog.getRequestMethod(); + Map paramsMap = ServletUtils.getParamMap(ServletUtils.getRequest()); + if (StringUtils.isEmpty(paramsMap) + && (HttpMethod.PUT.name().equals(requestMethod) || HttpMethod.POST.name().equals(requestMethod))) { + String params = argsArrayToString(joinPoint.getArgs(), excludeParamNames); + operLog.setOperParam(StringUtils.substring(params, 0, 2000)); + } else { + operLog.setOperParam(StringUtils.substring(JSON.toJSONString(paramsMap, excludePropertyPreFilter(excludeParamNames)), 0, 2000)); + } + } + + /** + * 参数拼装 + */ + private String argsArrayToString (Object[] paramsArray, String[] excludeParamNames) { + String params = ""; + if (paramsArray != null && paramsArray.length > 0) { + for (Object o : paramsArray) { + if (StringUtils.isNotNull(o) && !isFilterObject(o)) { + try { + String jsonObj = JSON.toJSONString(o, excludePropertyPreFilter(excludeParamNames)); + params += jsonObj.toString() + " "; + } catch (Exception e) { + } + } + } + } + return params.trim(); + } + + /** + * 忽略敏感属性 + */ + public PropertyPreExcludeFilter excludePropertyPreFilter (String[] excludeParamNames) { + return new PropertyPreExcludeFilter().addExcludes(ArrayUtils.addAll(EXCLUDE_PROPERTIES, excludeParamNames)); + } + + /** + * 判断是否需要过滤的对象。 + * + * @param o 对象信息。 + * + * @return 如果是需要过滤的对象,则返回true;否则返回false。 + */ + @SuppressWarnings("rawtypes") + public boolean isFilterObject (final Object o) { + Class clazz = o.getClass(); + if (clazz.isArray()) { + return clazz.getComponentType().isAssignableFrom(MultipartFile.class); + } else if (Collection.class.isAssignableFrom(clazz)) { + Collection collection = (Collection) o; + for (Object value : collection) { + return value instanceof MultipartFile; + } + } else if (Map.class.isAssignableFrom(clazz)) { + Map map = (Map) o; + for (Object value : map.entrySet()) { + Map.Entry entry = (Map.Entry) value; + return entry.getValue() instanceof MultipartFile; + } + } + return o instanceof MultipartFile || o instanceof HttpServletRequest || o instanceof HttpServletResponse + || o instanceof BindingResult; + } +} diff --git a/src/main/java/com/muyu/common/log/enums/BusinessStatus.java b/src/main/java/com/muyu/common/log/enums/BusinessStatus.java new file mode 100644 index 0000000..45e9713 --- /dev/null +++ b/src/main/java/com/muyu/common/log/enums/BusinessStatus.java @@ -0,0 +1,18 @@ +package com.muyu.common.log.enums; + +/** + * 操作状态 + * + * @author muyu + */ +public enum BusinessStatus { + /** + * 成功 + */ + SUCCESS, + + /** + * 失败 + */ + FAIL, +} diff --git a/src/main/java/com/muyu/common/log/enums/BusinessType.java b/src/main/java/com/muyu/common/log/enums/BusinessType.java new file mode 100644 index 0000000..2e928c7 --- /dev/null +++ b/src/main/java/com/muyu/common/log/enums/BusinessType.java @@ -0,0 +1,58 @@ +package com.muyu.common.log.enums; + +/** + * 业务操作类型 + * + * @author muyu + */ +public enum BusinessType { + /** + * 其它 + */ + OTHER, + + /** + * 新增 + */ + INSERT, + + /** + * 修改 + */ + UPDATE, + + /** + * 删除 + */ + DELETE, + + /** + * 授权 + */ + GRANT, + + /** + * 导出 + */ + EXPORT, + + /** + * 导入 + */ + IMPORT, + + /** + * 强退 + */ + FORCE, + + /** + * 生成代码 + */ + GENCODE, + + /** + * 清空数据 + */ + CLEAN, +} diff --git a/src/main/java/com/muyu/common/log/enums/OperatorType.java b/src/main/java/com/muyu/common/log/enums/OperatorType.java new file mode 100644 index 0000000..645777f --- /dev/null +++ b/src/main/java/com/muyu/common/log/enums/OperatorType.java @@ -0,0 +1,23 @@ +package com.muyu.common.log.enums; + +/** + * 操作人类别 + * + * @author muyu + */ +public enum OperatorType { + /** + * 其它 + */ + OTHER, + + /** + * 后台用户 + */ + MANAGE, + + /** + * 手机端用户 + */ + MOBILE +} diff --git a/src/main/java/com/muyu/common/log/filter/PropertyPreExcludeFilter.java b/src/main/java/com/muyu/common/log/filter/PropertyPreExcludeFilter.java new file mode 100644 index 0000000..2245256 --- /dev/null +++ b/src/main/java/com/muyu/common/log/filter/PropertyPreExcludeFilter.java @@ -0,0 +1,20 @@ +package com.muyu.common.log.filter; + +import com.alibaba.fastjson2.filter.SimplePropertyPreFilter; + +/** + * 排除JSON敏感属性 + * + * @author muyu + */ +public class PropertyPreExcludeFilter extends SimplePropertyPreFilter { + public PropertyPreExcludeFilter () { + } + + public PropertyPreExcludeFilter addExcludes (String... filters) { + for (int i = 0 ; i < filters.length ; i++) { + this.getExcludes().add(filters[i]); + } + return this; + } +} diff --git a/src/main/java/com/muyu/common/log/service/AsyncLogService.java b/src/main/java/com/muyu/common/log/service/AsyncLogService.java new file mode 100644 index 0000000..46e1cdf --- /dev/null +++ b/src/main/java/com/muyu/common/log/service/AsyncLogService.java @@ -0,0 +1,27 @@ +package com.muyu.common.log.service; + +import com.muyu.common.core.constant.SecurityConstants; +import com.muyu.common.system.remote.RemoteLogService; +import com.muyu.common.system.domain.SysOperLog; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +/** + * 异步调用日志服务 + * + * @author muyu + */ +@Service +public class AsyncLogService { + @Autowired + private RemoteLogService remoteLogService; + + /** + * 保存系统日志记录 + */ + @Async + public void saveSysLog (SysOperLog sysOperLog) throws Exception { + remoteLogService.saveLog(sysOperLog, SecurityConstants.INNER); + } +} diff --git a/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..e46e773 --- /dev/null +++ b/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,2 @@ +com.muyu.common.log.service.AsyncLogService +com.muyu.common.log.aspect.LogAspect diff --git a/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..e46e773 --- /dev/null +++ b/target/classes/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,2 @@ +com.muyu.common.log.service.AsyncLogService +com.muyu.common.log.aspect.LogAspect diff --git a/target/classes/com/muyu/common/log/annotation/Log.class b/target/classes/com/muyu/common/log/annotation/Log.class new file mode 100644 index 0000000000000000000000000000000000000000..64c0798c649052181d6c74bbc0189fc287c5c330 GIT binary patch literal 926 zcma)4O>fgc5Ph4Fq%8%S(gFoa+W=L<0snxCLr?-mYChzc9-7m}9V}P&Zt(6#VnY22)O}W7e_l9!U zsMTJ(-~QO;TgPT3XXMjYN5*!fl>+5v>!QpLBLub=$7ZUPp}*&K`W7bcl7=#qXzb|J)Bg z_1Md!Vo67bE^mk~PmTpoRGGgD+gs&Xu3?R%b&kpg8w}jV=0Bi9xQF`;J;2rys$-j> zhuB%jF0jkMqwBz9JXtWtoV|p-KkHLGWPag;-Z23|4)zX9v! B{=5JH literal 0 HcmV?d00001 diff --git a/target/classes/com/muyu/common/log/aspect/LogAspect.class b/target/classes/com/muyu/common/log/aspect/LogAspect.class new file mode 100644 index 0000000000000000000000000000000000000000..52b4f9021ad4554dd6dad7a3bbe71f415aa4480d GIT binary patch literal 9663 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 K@Qi9wX#D|uxA$uR literal 0 HcmV?d00001 diff --git a/target/classes/com/muyu/common/log/enums/BusinessType.class b/target/classes/com/muyu/common/log/enums/BusinessType.class new file mode 100644 index 0000000000000000000000000000000000000000..ce4c938f682cd75b598851a61a9508919f048aaf GIT binary patch literal 1539 zcma)6+fEZv6kS6vGaU{xRH<^2o3|E_ih_zQNGSuNrNvHdY&0fAtyt1dO)o@#z&HOz zYobP@;n~DrGVZfmLJdB&O}b~T*|)RK-u?CG+fM+?NUP{ka5Y~khs%w_MwlMT6(?M( z?1c+Xqg)HGHEKntP^)DQ-xPdM;1=+}tH6`WJTTJ=f{E^8BQjVM@X28BR?;%l8AHG^LFiex2i0*6K^0d7 zLYO9@@}-JXP;f37O6=PQcDQ6ad*RgXej#6v=$OTI6>|b%+@O=6IGCh9)jzOHjY8^` zg2iA*bi8EOYLO1Ys#lB7UZk^vOu+eX3f#g1i5@LF#rleZKxe9Uck(lLBianG^qjVk%Mf}t#p zYcyYKYj&?AP%0bkwx5-V0^O=Ks`dW9_qVsOXJKxJ^( z!$4=Sjx`%YpS&*}d5iFu19yn{yf&=NF-9g6G0a2?%t`?~4) zgQ4CyGCgDDdaaWqGY$qxMFdfXNTclcR5|`_=#bs0$&3%Eg3_H5TN85Xj+`k`@b=(geX^+xy5 z?2XC_GPo&YQNOBtQF5~i&7jrYo?*8Q&*J5#H6_OwP-*R|JY=2GCyUmIH?6*7 zjC_x9;cTu=wy5;%sXWgEL@r`w)_Jze3`*1Wy`K5X;@hQy&Moq9yHg@rGh};dXOWv2 zpp*P4PBI~oT;k3nM1=BLY!E(2(JGz%r;L&Kiqr+P&lEA_=|3v&=(CZD3RCSL|Gsc{Q=eqj}dNmq%q`XCo(3ru5J;-6Y4$L`d~^fekZPWH++VBrwEH+RT6DCbx^MS_nyQAQJd6$zwBn=}m-qwOYRKE)>CLfHBP9z^*+ literal 0 HcmV?d00001 diff --git a/target/classes/com/muyu/common/log/filter/PropertyPreExcludeFilter.class b/target/classes/com/muyu/common/log/filter/PropertyPreExcludeFilter.class new file mode 100644 index 0000000000000000000000000000000000000000..fe4106b0f824349ca5763867114c8e5adb5078db GIT binary patch literal 824 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 literal 0 HcmV?d00001 diff --git a/target/maven-archiver/pom.properties b/target/maven-archiver/pom.properties new file mode 100644 index 0000000..e0aab3e --- /dev/null +++ b/target/maven-archiver/pom.properties @@ -0,0 +1,3 @@ +artifactId=cloud-common-log +groupId=com.muyu +version=3.6.3 diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst new file mode 100644 index 0000000..cebe001 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/createdFiles.lst @@ -0,0 +1,7 @@ +com\muyu\common\log\enums\OperatorType.class +com\muyu\common\log\filter\PropertyPreExcludeFilter.class +com\muyu\common\log\service\AsyncLogService.class +com\muyu\common\log\annotation\Log.class +com\muyu\common\log\enums\BusinessStatus.class +com\muyu\common\log\aspect\LogAspect.class +com\muyu\common\log\enums\BusinessType.class diff --git a/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst new file mode 100644 index 0000000..f336f01 --- /dev/null +++ b/target/maven-status/maven-compiler-plugin/compile/default-compile/inputFiles.lst @@ -0,0 +1,7 @@ +D:\master\yjs-cloud-2112\cloud-common-log\src\main\java\com\muyu\common\log\enums\OperatorType.java +D:\master\yjs-cloud-2112\cloud-common-log\src\main\java\com\muyu\common\log\service\AsyncLogService.java +D:\master\yjs-cloud-2112\cloud-common-log\src\main\java\com\muyu\common\log\annotation\Log.java +D:\master\yjs-cloud-2112\cloud-common-log\src\main\java\com\muyu\common\log\enums\BusinessStatus.java +D:\master\yjs-cloud-2112\cloud-common-log\src\main\java\com\muyu\common\log\filter\PropertyPreExcludeFilter.java +D:\master\yjs-cloud-2112\cloud-common-log\src\main\java\com\muyu\common\log\aspect\LogAspect.java +D:\master\yjs-cloud-2112\cloud-common-log\src\main\java\com\muyu\common\log\enums\BusinessType.java