From b51dba5c846eee19a5c41ebb6a31c743acac66d4 Mon Sep 17 00:00:00 2001 From: xbkaishui Date: Fri, 18 Sep 2020 09:00:53 +0800 Subject: [PATCH] Fix null pointer bug, format log message (#5509) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: 吴晟 Wu Sheng --- .../alarm/provider/slack/SlackhookCallback.java | 13 ++++--------- 1 file changed, 4 insertions(+), 9 deletions(-) diff --git a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java index f7eb93eae7..95030a5aa9 100644 --- a/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java +++ b/oap-server/server-alarm-plugin/src/main/java/org/apache/skywalking/oap/server/core/alarm/provider/slack/SlackhookCallback.java @@ -63,7 +63,7 @@ public class SlackhookCallback implements AlarmCallback { @Override public void doAlarm(List alarmMessages) { - if (this.alarmRulesWatcher.getSlackSettings().getWebhooks().isEmpty()) { + if (this.alarmRulesWatcher.getSlackSettings() == null || this.alarmRulesWatcher.getSlackSettings().getWebhooks().isEmpty()) { return; } @@ -77,31 +77,26 @@ public class SlackhookCallback implements AlarmCallback { StringEntity entity; try { - JsonObject jsonObject = new JsonObject(); JsonArray jsonElements = new JsonArray(); - alarmMessages.forEach(item -> { jsonElements.add(GSON.fromJson( String.format( this.alarmRulesWatcher.getSlackSettings().getTextTemplate(), item.getAlarmMessage() ), JsonObject.class)); }); - jsonObject.add("blocks", jsonElements); - entity = new StringEntity(GSON.toJson(jsonObject), ContentType.APPLICATION_JSON); - post.setEntity(entity); CloseableHttpResponse httpResponse = httpClient.execute(post); StatusLine statusLine = httpResponse.getStatusLine(); if (statusLine != null && statusLine.getStatusCode() != HttpStatus.SC_OK) { - log.error("send alarm to " + url + " failure. Response code: " + statusLine.getStatusCode()); + log.error("Send slack alarm to {} failure. Response code: {}", url , statusLine.getStatusCode()); } } catch (UnsupportedEncodingException e) { - log.error("Alarm to JSON error, " + e.getMessage(), e); + log.error("Alarm to JSON error, {} ", e.getMessage(), e); } catch (IOException e) { - log.error("send alarm to " + url + " failure.", e); + log.error("Send slack alarm to {} failure.", url , e); } }); } finally { -- GitLab