Explorar el Código

添加错误日志

zouxuan hace 2 años
padre
commit
83c8adaca8

+ 2 - 1
mec-biz/src/main/java/com/ym/mec/biz/service/impl/FinancialExpenditureServiceImpl.java

@@ -74,7 +74,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
         return financialExpenditureDao;
     }
 
-    private static final Logger LOGGER = LoggerFactory.getLogger(FinancialExpenditureServiceImpl.class);
+    private static final Logger businessLogger = LoggerFactory.getLogger(FinancialExpenditureServiceImpl.class);
 
     @Override
     @Transactional(rollbackFor = Exception.class)
@@ -230,6 +230,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void syncOaPayLog(Integer workOrderId,String fileUrl) throws Exception {
+        businessLogger.info("syncOaPayLog--- workOrderId:{},fileUrl:{}",workOrderId,fileUrl);
         //防止幂等
         String key = "syncOaPayLog:" + workOrderId;
         RBucket<Object> bucket = redissonClient.getBucket(key);

+ 4 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/IndexBaseMonthDataServiceImpl.java

@@ -24,6 +24,8 @@ import com.ym.mec.util.collection.MapUtil;
 import com.ym.mec.util.date.DateUtil;
 import com.ym.mec.util.web.EParallelStream;
 import org.apache.commons.lang3.StringUtils;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
@@ -71,6 +73,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 	@Autowired
 	private MusicGroupCalenderRefundPeriodDao musicGroupCalenderRefundPeriodDao;
 	private static final ExecutorService exportExecutorService = Executors.newFixedThreadPool(10);
+	private static final Logger businessLogger = LoggerFactory.getLogger(IndexBaseMonthDataServiceImpl.class);
 
 	private static ThreadLocal<Set<Integer>> organIds = new ThreadLocal<Set<Integer>>(){
 		@Override
@@ -804,6 +807,7 @@ public class IndexBaseMonthDataServiceImpl extends BaseServiceImpl<Long, IndexBa
 
 	@Override
 	public Map<String, Object> getIndexErrData(String organIdsStr, IndexErrorType errorType) {
+		businessLogger.info("getIndexErrData-----organIdsStr:{},errorType:{}",organIdsStr,errorType);
 		//只筛选指定时间之后的数据
 		Date date = new Date();
 		String startTime = DateUtil.format(DateUtil.getFirstDayOfMonth(DateUtil.addMonths(date, -1)),DateUtil.ISO_EXPANDED_DATE_FORMAT);

+ 61 - 3
mec-common/common-core/src/main/java/com/ym/mec/common/controller/BaseController.java

@@ -23,7 +23,11 @@ import org.springframework.web.bind.annotation.ExceptionHandler;
 import javax.crypto.Mac;
 import javax.crypto.spec.SecretKeySpec;
 import javax.servlet.http.HttpServletRequest;
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
 import java.net.URLEncoder;
+import java.util.Enumeration;
 import java.util.HashMap;
 import java.util.Map;
 import java.util.Optional;
@@ -32,7 +36,7 @@ import java.util.stream.Collectors;
 @ControllerAdvice
 public class BaseController {
 
-    private final static Logger logger = LoggerFactory.getLogger(BaseController.class);
+    private final static Logger businessLogger = LoggerFactory.getLogger(BaseController.class);
 
     public static <T> HttpResponseResult<T> succeed(T object) {
         return getResponseData(true, HttpStatus.OK, object, "");
@@ -97,7 +101,7 @@ public class BaseController {
 		if (e == null) {
 			e = ex;
 		}
-		logger.error("System Error", e);
+        businessLogger.error("System Error", e);
 		// return failed(e.getMessage());
 		if (e instanceof BizException || e instanceof ThirdpartyException) {
 			if(e.getMessage().equals("205")){
@@ -126,6 +130,7 @@ public class BaseController {
                     .collect(Collectors.joining());
             return failed(errorMsg);
         }
+        printErrorRequestLog(request);
         try {
             Map<String,Object> paramMap = new HashMap<>(2);
             JSONObject jsonObject = new JSONObject();
@@ -136,7 +141,7 @@ public class BaseController {
             headers.put("Content-Type","application/json");
             HttpUtil.postForHttps(dingTalkRobotsSecurityParam(),JSON.toJSONString(paramMap),headers);
         }catch (Exception exception){
-            logger.error("System Error", exception);
+            businessLogger.error("System Error", exception);
         }
         if (StringUtils.isNotBlank(e.getMessage())) {
             return failed(e.getMessage());
@@ -144,6 +149,59 @@ public class BaseController {
         return failed("系统繁忙");
     }
 
+    private void printErrorRequestLog(HttpServletRequest request){
+        // 打印请求日志或执行其他逻辑
+        businessLogger.info("Request URI: {}", request.getRequestURI());
+        Map<String, String> requestParams = getRequestParameters(request);
+        if (!requestParams.isEmpty()) {
+            businessLogger.info("Request Parameters: {}", requestParams);
+        }
+
+        Map<String, String> requestHeaders = getRequestHeaders(request);
+        if (!requestHeaders.isEmpty()) {
+            businessLogger.info("Request Headers: {}", requestHeaders);
+        }
+
+        String requestBody = getRequestBody(request);
+        if (!requestBody.isEmpty()) {
+            businessLogger.info("Request JSON: {}", requestBody);
+        }
+    }
+
+    private Map<String, String> getRequestParameters(HttpServletRequest request) {
+        Map<String, String> params = new HashMap<>();
+        request.getParameterMap().forEach((name, values) -> {
+            if (values.length > 0) {
+                params.put(name, values[0]);
+            }
+        });
+        return params;
+    }
+
+    private Map<String, String> getRequestHeaders(HttpServletRequest request) {
+        Enumeration<String> headerNames = request.getHeaderNames();
+        Map<String, String> headers = new HashMap<>();
+        while (headerNames.hasMoreElements()) {
+            String headerName = headerNames.nextElement();
+            String headerValue = request.getHeader(headerName);
+            headers.put(headerName, headerValue);
+        }
+        return headers;
+    }
+
+    private String getRequestBody(HttpServletRequest request) {
+        StringBuilder requestBody = new StringBuilder();
+        try (BufferedReader reader = new BufferedReader(new InputStreamReader(request.getInputStream()))) {
+            String line;
+            while ((line = reader.readLine()) != null) {
+                requestBody.append(line);
+            }
+        } catch (IOException e) {
+            businessLogger.error("Error reading request body: {}", e.getMessage());
+        }
+        return requestBody.toString();
+    }
+
     public String dingTalkRobotsSecurityParam() throws Exception{
         Long timestamp = System.currentTimeMillis();
         String secret = "SEC405b2e5f38aaae6472b242ee53607fb4a6549cf05a72bdf6482ec3799d5576ec";