Commit 8c7f3164 authored by libin's avatar libin

Merge remote-tracking branch 'origin/dev' into dev

parents 546078cd 382fb61b
package com.github.wxiaoqi.security.common.config.global;
import com.github.wxiaoqi.security.common.handler.GlobalExceptionHandler;
import com.github.wxiaoqi.security.common.handler.PlatformExceptionHandler;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
import org.springframework.context.annotation.Bean;
import org.springframework.core.env.Environment;
......@@ -13,6 +17,17 @@ public class GlobalBasicConfiguration implements ApplicationRunner{
private static Logger log = LoggerFactory.getLogger(GlobalBasicConfiguration.class);
private static Environment env;
@Bean
@ConditionalOnMissingBean
private GlobalExceptionHandler addGlobalExceptionHandler() {
return new GlobalExceptionHandler();
}
@Bean
@ConditionalOnMissingBean
private PlatformExceptionHandler addPlatformExceptionHandler() {
return new PlatformExceptionHandler();
}
@Autowired
private void setEnv(Environment env) {
GlobalBasicConfiguration.env = env;
......
......@@ -7,7 +7,7 @@ import ch.qos.logback.core.spi.FilterReply;
public class AcceptFilter extends Filter<ILoggingEvent> {
@Override
public FilterReply decide(ILoggingEvent event) {
if(event.getLoggerName().startsWith("com.xxfc.platform") || event.getLoggerName().startsWith("com.github.wxiaoqi")) {
if(event.getLoggerName().startsWith("com.xxfc.platform") || event.getLoggerName().startsWith("com.github.wxiaoqi") || event.getLoggerName().contains("Exception")) {
return FilterReply.ACCEPT;
} else {
return FilterReply.DENY;
......
......@@ -7,7 +7,7 @@ import ch.qos.logback.core.spi.FilterReply;
public class DenyFilter extends Filter<ILoggingEvent> {
@Override
public FilterReply decide(ILoggingEvent event) {
if (event.getLoggerName().startsWith("com.alibaba.nacos") || event.getLoggerName().startsWith("com.xxfc.platform") || event.getLoggerName().startsWith("com.github.wxiaoqi")) {
if (event.getLoggerName().startsWith("com.alibaba.nacos") || event.getLoggerName().startsWith("com.xxfc.platform") || event.getLoggerName().startsWith("com.github.wxiaoqi") || event.getLoggerName().contains("Exception")) {
return FilterReply.DENY;
} else {
return FilterReply.ACCEPT;
......
......@@ -3,10 +3,13 @@ package com.github.wxiaoqi.security.common.handler;
import com.github.wxiaoqi.security.common.exception.BaseException;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
@RestControllerAdvice("com.xxfc.platform")
@Slf4j
public class PlatformExceptionHandler {
@ExceptionHandler(value = {BaseException.class})
......@@ -18,4 +21,25 @@ public class PlatformExceptionHandler {
return new BaseResponse(400,e.getMessage());
}
//服务器异常
@ExceptionHandler(Exception.class)
public ObjectRestResponse<?> exceptionHandler(Exception e){
Throwable cause = e.getCause();
if(cause != null && cause.toString().contains("Exception")) {
log.error(cause.getMessage(), e);
return assembleResult(ObjectRestResponse.createFailedResult(5000, "服务器开小差了,请稍后重试!"), "Server exception: " + e.getMessage());
}
log.error("Server exception: ", e);
return assembleResult(ObjectRestResponse.createFailedResult(5000, "服务器开小差了,请稍后重试!"), "Server exception: " + e.getMessage());
}
protected ObjectRestResponse<?> assembleResult(ObjectRestResponse<?> error, String msg) {
log.debug("Exception: " + msg);
return error;
}
protected ObjectRestResponse<?> assembleResult(ObjectRestResponse<?> error, Throwable e) {
return assembleResult(error, e.getClass().getSimpleName() + ": " + e.getMessage());
}
}
......@@ -6,6 +6,7 @@ import com.github.wxiaoqi.security.common.log.entity.LogEntity;
import com.github.wxiaoqi.security.common.log.entity.XxLogEntity;
import com.github.wxiaoqi.security.common.msg.BaseResponse;
import com.github.wxiaoqi.security.common.msg.ObjectRestResponse;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.reflect.MethodSignature;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -25,6 +26,7 @@ import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
@Service
@Slf4j
public class CommonLogServiceImpl implements CommonLogService {
@Value("${spring.application.name}")
......@@ -86,6 +88,9 @@ public class CommonLogServiceImpl implements CommonLogService {
}
@Override
public void run() {
if(!xxLogEntity.getServletPath().contains("/vehicleInfo/app/unauth/getVehiclePlanList")) {
log.info("用户请求信息:xxLogEntity = {}", xxLogEntity.toString());
}
mongoTemplate.insert(xxLogEntity, xxLogEntity.getMongoKey());
}
}
......
......@@ -14,13 +14,13 @@ import java.util.Date;
public class XxLogEntity implements Serializable {
private String app;
private String method;
private String createDate;
private String servletPath;
private String requestPath;
private String requestData;
private String responseData;
private String createDate;
private String endDate;
private String requestPath;
private String method;
private String mongoKey;
public XxLogEntity() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment