Merge remote-tracking branch 'origin/master'

master
wjt 1 year ago
commit 59cdd3a795

@ -1,36 +1,36 @@
package com.baiye.aspect; //package com.baiye.aspect;
//
import com.baiye.common.CommonLog; //import com.baiye.common.CommonLog;
import lombok.extern.slf4j.Slf4j; //import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.JoinPoint; //import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*; //import org.aspectj.lang.annotation.*;
import org.springframework.stereotype.Component; //import org.springframework.stereotype.Component;
//
import java.util.Arrays; //import java.util.Arrays;
//
/** ///**
* @Author YQY // * @Author YQY
* @Date 2023/5/24 // * @Date 2023/5/24
*/ // */
@Component //@Component
@Aspect //@Aspect
@Slf4j //@Slf4j
public class BadRequestExceptionAspect { //public class BadRequestExceptionAspect {
//
/** // /**
* // * 配置切入点
*/ // */
@Pointcut("execution(* com.baiye.exception.handler.GlobalExceptionHandler.badRequestException(..))") // @Pointcut("execution(* com.baiye.exception.handler.GlobalExceptionHandler.badRequestException(..))")
public void badRequestExceptionPointcut() { // public void badRequestExceptionPointcut() {
} // }
//
@Before("badRequestExceptionPointcut()") // @Before("badRequestExceptionPointcut()")
public void bb(JoinPoint joinPoint) { // public void badRequestExceptionBefore(JoinPoint joinPoint) {
Object[] args = joinPoint.getArgs(); // Object[] args = joinPoint.getArgs();
if (args.length > 0) { // if (args.length > 0) {
String str = Arrays.toString(args); // String str = Arrays.toString(args);
int index = str.indexOf(':'); // int index = str.indexOf(':');
if (index != -1) CommonLog.error(str.substring(index + 1, str.length() - 1)); // if (index != -1) CommonLog.error(str.substring(index + 1, str.length() - 1));
} // }
} // }
} //}

@ -38,6 +38,7 @@ public class LogAspect {
private final SystemClient systemClient; private final SystemClient systemClient;
ThreadLocal<Long> currentTime = new ThreadLocal<>(); ThreadLocal<Long> currentTime = new ThreadLocal<>();
private final String SYSTEM_TYPE = "systemType";
public LogAspect(SystemClient systemClient) { public LogAspect(SystemClient systemClient) {
this.systemClient = systemClient; this.systemClient = systemClient;
@ -86,8 +87,8 @@ public class LogAspect {
String ip = RequestUtils.getIp(request); String ip = RequestUtils.getIp(request);
// 插入数据库的日志 // 插入数据库的日志
LogReqDTO logReqDTO = this.install(joinPoint, controllerLog, ip, e);
if (controllerLog.isSaveMySQL()) { if (controllerLog.isSaveMySQL()) {
LogReqDTO logReqDTO = this.install(joinPoint, null, ip, e);
logReqDTO.setLogType(LogType.ERROR); logReqDTO.setLogType(LogType.ERROR);
logReqDTO.setTime(System.currentTimeMillis() - currentTime.get()); logReqDTO.setTime(System.currentTimeMillis() - currentTime.get());
logReqDTO.setBrowser(RequestUtils.getBrowser(request)); logReqDTO.setBrowser(RequestUtils.getBrowser(request));
@ -107,25 +108,22 @@ public class LogAspect {
Object[] args = joinPoint.getArgs(); Object[] args = joinPoint.getArgs();
// 方法路径 // 方法路径
String methodName = joinPoint.getTarget().getClass().getName() + "." + signature.getName() + "()"; String methodName = joinPoint.getTarget().getClass().getName() + "." + signature.getName() + "()";
String reqParam = argsArrayToString(args); String reqParam = argsArrayToString(args);
String reqParams = StringUtils.substring(reqParam, 0, 2000); String reqParams = StringUtils.substring(reqParam, 0, 2000);
String reqMethod = ServletUtil.getRequest().getMethod(); String reqMethod = ServletUtil.getRequest().getMethod();
MDC.put("userId", this.getUserId());
if (e == null) { MDC.put("userName", this.getUsername());
MDC.put("userId", this.getUserId()); MDC.put("reqIp", ip);
MDC.put("userName", this.getUsername()); MDC.put("method", methodName);
MDC.put("reqIp", ip); MDC.put("params", reqParams);
MDC.put("method", methodName); MDC.put("reqMethod", reqMethod);
MDC.put("params", reqParams); MDC.put("reqUrl", Objects.requireNonNull(ServletUtil.getRequest()).getRequestURI());
MDC.put("reqMethod", reqMethod); MDC.put(SYSTEM_TYPE, String.valueOf(DefaultNumberConstants.ONE_NUMBER));
MDC.put("reqUrl", Objects.requireNonNull(ServletUtil.getRequest()).getRequestURI()); if (controllerLog != null) {
if (controllerLog != null) { MDC.put("businessPartyType", controllerLog.BusinessPartyType());
MDC.put("businessPartyType", controllerLog.BusinessPartyType()); logReqDTO.setDescription(controllerLog.value());
logReqDTO.setDescription(controllerLog.value());
}
} }
StringBuilder params = new StringBuilder("{"); StringBuilder params = new StringBuilder("{");
//参数值 //参数值
List<Object> argValues = new ArrayList<>(Arrays.asList(args)); List<Object> argValues = new ArrayList<>(Arrays.asList(args));
@ -143,10 +141,12 @@ public class LogAspect {
logReqDTO.setUsername(getUsername()); logReqDTO.setUsername(getUsername());
if (e == null) { if (e == null) {
MDC.put("systemType", String.valueOf(DefaultNumberConstants.ONE_NUMBER)); if (controllerLog != null) log.info("{}", controllerLog.value());
log.info("{}", controllerLog.value()); }else {
MDC.remove("systemType"); // if (controllerLog != null) log.error("{}", controllerLog.value() + "失败\n错误信息" + ThrowableUtil.getStackTrace(e).substring(0, 2000));
if (controllerLog != null) log.error("{}", controllerLog.value() + "失败;\n错误信息" + e.getMessage());
} }
MDC.remove(SYSTEM_TYPE);
return logReqDTO; return logReqDTO;
} }

@ -75,7 +75,7 @@ public class LogServiceImpl implements LogService {
return PageUtil.toPage(page.map(logSmallMapper::toDto)); return PageUtil.toPage(page.map(logSmallMapper::toDto));
} }
// @Override // @Override
// @Transactional(rollbackFor = Exception.class) // @Transactional(rollbackFor = Exception.class)
// public void save(String username, String browser, String ip, ProceedingJoinPoint joinPoint, LogEntity logEntity) { // public void save(String username, String browser, String ip, ProceedingJoinPoint joinPoint, LogEntity logEntity) {
// //
@ -211,7 +211,7 @@ public class LogServiceImpl implements LogService {
filter.must(QueryBuilders.termQuery("businessPartyType", query.getBusinessPartyType())); filter.must(QueryBuilders.termQuery("businessPartyType", query.getBusinessPartyType()));
} }
if (StringUtils.isNotBlank(query.getUserName())) { if (StringUtils.isNotBlank(query.getUserName())) {
filter.must(QueryBuilders.matchQuery("userName", query.getUserName())); filter.must(QueryBuilders.matchPhraseQuery("userName", query.getUserName()));
} }
if (StringUtils.isNotBlank(query.getSystemType())) { if (StringUtils.isNotBlank(query.getSystemType())) {
filter.must(QueryBuilders.termQuery("systemType", query.getSystemType())); filter.must(QueryBuilders.termQuery("systemType", query.getSystemType()));

@ -0,0 +1,35 @@
package com.baiye.timed;
import cn.hutool.core.date.DateUtil;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.data.elasticsearch.core.ElasticsearchOperations;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import java.util.Date;
/**
* @Author YQY
* @Date 2023/5/29
*/
@Component
@RequiredArgsConstructor
@Slf4j
public class ElasticsearchTask {
private final ElasticsearchOperations elasticsearchOperations;
/**
* es,logstash
*/
@Scheduled(cron = "0 0 2 * * ?")
public void removeIndex() {
log.info("定时任务删除es索引开始");
Date startDate = DateUtils.addDays(new Date(), -30);
String format = DateUtil.format(startDate, "yyyy.MM.dd");
elasticsearchOperations.deleteIndex("logstash-" + format);
log.info("删除es索引结束");
}
}

@ -32,7 +32,7 @@ public class FileTask {
@Scheduled(cron = "0 0 3 * * ? ") @Scheduled(cron = "0 0 3 * * ? ")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void compress() throws Exception { public void compress() throws Exception {
CommonLog.info("---开始压缩文件夹---"); log.info("---开始压缩文件夹---");
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
DateTime date = DateUtil.yesterday(); DateTime date = DateUtil.yesterday();
String path = URL + dateFormat.format(date); String path = URL + dateFormat.format(date);
@ -48,7 +48,7 @@ public class FileTask {
@Scheduled(cron = "0 0 1 * * ? ") @Scheduled(cron = "0 0 1 * * ? ")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void emptyLog(){ public void emptyLog(){
CommonLog.info("---清空日志---"); log.info("---清空日志---");
turnCrmLogRepository.deleteAll(); turnCrmLogRepository.deleteAll();
} }
} }

Loading…
Cancel
Save