소스 검색

GraylogService#processDingMsg 中处理 ExceptionType 和 ExceptionMessage 字段可能为 null 的情况

reghao 1 년 전
부모
커밋
16dcc9255d
1개의 변경된 파일8개의 추가작업 그리고 3개의 파일을 삭제
  1. 8 3
      mgr/src/main/java/cn/reghao/devops/mgr/mgr/thirdparty/graylog/GraylogService.java

+ 8 - 3
mgr/src/main/java/cn/reghao/devops/mgr/mgr/thirdparty/graylog/GraylogService.java

@@ -61,10 +61,15 @@ public class GraylogService {
                 url = jsonElement.getAsString();
             }
 
-            String exceptionType = jsonObject.get("ExceptionType").getAsString();
-            String exceptionMessage = jsonObject.get("ExceptionMessage").getAsString();
-            ExceptionMessage currentMessage = new ExceptionMessage(localDateTime, appName, localIp, url, exceptionType, exceptionMessage);
+            String exceptionType = "";
+            String exceptionMessage = "";
+            JsonElement jsonElement1 = jsonObject.get("ExceptionType");
+            if (jsonElement1 != null) {
+                exceptionType = jsonElement1.getAsString();
+                exceptionMessage = jsonObject.get("ExceptionMessage").getAsString();
+            }
 
+            ExceptionMessage currentMessage = new ExceptionMessage(localDateTime, appName, localIp, url, exceptionType, exceptionMessage);
             String mapKey = String.format("%s-%s-%s", appName, localIp, url);
             ExceptionMessage lastMessage = map.get(mapKey);
             if (lastMessage != null) {