From 5352ef3a77998d75de06b854cf5380ca2353f1f7 Mon Sep 17 00:00:00 2001 From: jianjun Date: Wed, 28 Jul 2021 15:51:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8A=A0=E5=BC=BA=E5=88=A4=E6=96=AD=20?= =?UTF-8?q?=E4=B8=8D=E6=8A=9B=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../aspect/ApplicationReadyEventListener.java | 29 ++----------- .../tools/filter/LogMsgSendFilter.java | 43 +++++++------------ 2 files changed, 18 insertions(+), 54 deletions(-) diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ApplicationReadyEventListener.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ApplicationReadyEventListener.java index 901163e7ac..39b15dfc2c 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ApplicationReadyEventListener.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/aspect/ApplicationReadyEventListener.java @@ -13,10 +13,7 @@ import com.dingtalk.api.DefaultDingTalkClient; import com.dingtalk.api.DingTalkClient; import com.dingtalk.api.request.OapiRobotSendRequest; import com.dingtalk.api.response.OapiRobotSendResponse; -import com.epmet.commons.tools.dto.form.DingTalkTextMsg; import com.epmet.commons.tools.enums.EnvEnum; -import com.epmet.commons.tools.utils.HttpClientManager; -import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.SpringContextUtils; import com.taobao.api.ApiException; import org.apache.logging.log4j.LogManager; @@ -52,31 +49,11 @@ public class ApplicationReadyEventListener implements ApplicationListener stringResult = HttpClientManager.getInstance().sendPostByJSON(url, msg.getMsgContent()); - logger.info(stringResult); - } - private String getServerIp() { InetUtils inetUtils = SpringContextUtils.getBean(InetUtils.class); + if (inetUtils == null){ + return null; + } return inetUtils.findFirstNonLoopbackHostInfo().getIpAddress(); } diff --git a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java index 8216827ee6..f6d39b325d 100644 --- a/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java +++ b/epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/filter/LogMsgSendFilter.java @@ -9,19 +9,18 @@ import ch.qos.logback.core.spi.FilterReply; import com.epmet.commons.tools.constant.ThreadLocalConstant; import com.epmet.commons.tools.dto.form.DingTalkTextMsg; import com.epmet.commons.tools.enums.EnvEnum; +import com.epmet.commons.tools.utils.DateUtils; import com.epmet.commons.tools.utils.DingdingMsgSender; import com.epmet.commons.tools.utils.SpringContextUtils; import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.cloud.commons.util.InetUtils; -import org.springframework.core.env.Environment; import org.springframework.web.context.request.RequestAttributes; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; import javax.servlet.http.HttpServletRequest; -import java.text.SimpleDateFormat; import java.util.regex.Matcher; import java.util.regex.Pattern; @@ -47,40 +46,42 @@ public class LogMsgSendFilter extends LevelFilter { //如果日志级别等于设置的日志级别 则发送消息 if (event.getLevel().isGreaterOrEqual(Level.ERROR)) { try { + getServerInfo(); + StringBuilder stringBuilder = new StringBuilder(); stringBuilder.append("【日志告警】\n"); stringBuilder.append("\n"); - stringBuilder.append("告警级别:" + event.getLevel()); + stringBuilder.append("告警级别:").append(event.getLevel()); stringBuilder.append("\n"); if (StringUtils.isNotBlank(appName)) { - stringBuilder.append("服务名称:" + appName); + stringBuilder.append("服务名称:").append(appName); stringBuilder.append("\n"); } - getServerInfo(); + if (StringUtils.isNotBlank(activeEnv)) { - stringBuilder.append("告警环境:" + EnvEnum.getEnum(activeEnv).getName()); + stringBuilder.append("告警环境:").append(activeEnv); stringBuilder.append("\n"); } if (StringUtils.isNotBlank(serverIp)) { - stringBuilder.append("IP地址:" + serverIp); + stringBuilder.append("IP地址:").append(serverIp); stringBuilder.append("\n"); } - stringBuilder.append("故障时间:" + formatLongTime2Str(event.getTimeStamp())); + stringBuilder.append("故障时间:").append(DateUtils.formatTimestamp(event.getTimeStamp(),DateUtils.DATE_TIME_PATTERN)); stringBuilder.append("\n"); - stringBuilder.append("TraceId:" + Thread.currentThread().getName()); + stringBuilder.append("TraceId:").append(Thread.currentThread().getName()); stringBuilder.append("\n"); HttpServletRequest request = getRequest(); if (request != null) { String requestURI = request.getRequestURI(); - stringBuilder.append("请求路径:" + requestURI); + stringBuilder.append("请求路径:").append(requestURI); stringBuilder.append("\n"); - stringBuilder.append("请求参数:" + ThreadLocalConstant.requestParam.get()); + stringBuilder.append("请求参数:").append(ThreadLocalConstant.requestParam.get()); stringBuilder.append("\n"); } @@ -89,7 +90,7 @@ public class LogMsgSendFilter extends LevelFilter { if (throwableProxy == null && formattedMessage.length() > 1000) { formattedMessage = formattedMessage.substring(0, getCharacterPosition(formattedMessage, baseProjectPackage, 5)); } - stringBuilder.append("告警信息:" + formattedMessage); + stringBuilder.append("告警信息:").append(formattedMessage); stringBuilder.append("\n"); @@ -134,12 +135,8 @@ public class LogMsgSendFilter extends LevelFilter { } try { if (activeEnv == null) { - Environment environment = SpringContextUtils.getBean(Environment.class); - String[] activeProfiles = environment.getActiveProfiles(); - if (activeProfiles != null && activeProfiles.length > 0) { - logger.info("activeProfiles:{}", activeProfiles); - activeEnv = activeProfiles[0]; - } + EnvEnum currentEnv = EnvEnum.getCurrentEnv(); + activeEnv = currentEnv.getName(); } } catch (Exception e) { logger.warn("getServerInfo get bean Environment exception", e); @@ -212,16 +209,6 @@ public class LogMsgSendFilter extends LevelFilter { } } - - private String formatLongTime2Str(long timestamp) { - SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); - return dateFormat.format(timestamp); - } - - public void setActiveEnv(String activeEnv) { - this.activeEnv = activeEnv; - } - public void setAppName(String appName) { this.appName = appName; }