From 094a2ce35d60abd7ae28a7d9f9ec863ed4ac652d Mon Sep 17 00:00:00 2001
From: Helius <wangdoubleone@gmail.com>
Date: Fri, 05 Mar 2021 10:27:56 +0800
Subject: [PATCH] modify
---
src/main/java/com/xcong/excoin/common/system/bean/SysExceptionDetailEntity.java | 30 +++++++++++++++
src/main/java/com/xcong/excoin/modules/platform/dao/SysExceptionDetailDao.java | 11 +++++
src/main/resources/mapper/platform/SysExceptionDetailDao.xml | 5 ++
src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java | 51 +++++++++++++++++++++++++
4 files changed, 97 insertions(+), 0 deletions(-)
diff --git a/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java b/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
new file mode 100644
index 0000000..c3249aa
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/common/aop/ExceptionCatchAspect.java
@@ -0,0 +1,51 @@
+package com.xcong.excoin.common.aop;
+
+import com.xcong.excoin.common.system.bean.SysExceptionDetailEntity;
+import com.xcong.excoin.modules.platform.dao.SysExceptionDetailDao;
+import lombok.extern.slf4j.Slf4j;
+import org.aspectj.lang.JoinPoint;
+import org.aspectj.lang.annotation.AfterThrowing;
+import org.aspectj.lang.annotation.Aspect;
+import org.aspectj.lang.annotation.Pointcut;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Component;
+
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.net.InetAddress;
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2021-03-05
+ **/
+@Slf4j
+@Aspect
+@Component
+public class ExceptionCatchAspect {
+
+ @Autowired
+ private SysExceptionDetailDao sysExceptionDetailDao;
+
+ @Pointcut("execution(* com.xcong.excoin..*.*(..))")
+ public void exceptionCatch() {
+ }
+
+ @AfterThrowing(pointcut = "exceptionCatch()", throwing = "ex")
+ public void afterThrows(JoinPoint jp, Exception ex) throws Exception {
+ SysExceptionDetailEntity exceptionData = new SysExceptionDetailEntity();
+ exceptionData.setCreateTime(new Date());
+ exceptionData.setMachine(InetAddress.getLocalHost().getHostName());
+ exceptionData.setAddress(InetAddress.getLocalHost().getHostAddress());
+ exceptionData.setExceptionMsg(printStackTraceToString(ex.fillInStackTrace()));
+ exceptionData.setSimpleMsg(ex.getMessage());
+ sysExceptionDetailDao.insert(exceptionData);
+ throw ex;
+ }
+
+ public String printStackTraceToString(Throwable t) {
+ StringWriter sw = new StringWriter();
+ t.printStackTrace(new PrintWriter(sw, true));
+ return sw.getBuffer().toString();
+ }
+}
diff --git a/src/main/java/com/xcong/excoin/common/system/bean/SysExceptionDetailEntity.java b/src/main/java/com/xcong/excoin/common/system/bean/SysExceptionDetailEntity.java
new file mode 100644
index 0000000..4e53e4b
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/common/system/bean/SysExceptionDetailEntity.java
@@ -0,0 +1,30 @@
+package com.xcong.excoin.common.system.bean;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author wzy
+ * @date 2021-03-05
+ **/
+@Data
+@TableName("sys_exception_detail")
+public class SysExceptionDetailEntity {
+
+ @TableId(value = "id",type = IdType.AUTO)
+ private Long id;
+
+ private Date createTime;
+
+ private String machine;
+
+ private String simpleMsg;
+
+ private String exceptionMsg;
+
+ private String address;
+}
diff --git a/src/main/java/com/xcong/excoin/modules/platform/dao/SysExceptionDetailDao.java b/src/main/java/com/xcong/excoin/modules/platform/dao/SysExceptionDetailDao.java
new file mode 100644
index 0000000..7d944ee
--- /dev/null
+++ b/src/main/java/com/xcong/excoin/modules/platform/dao/SysExceptionDetailDao.java
@@ -0,0 +1,11 @@
+package com.xcong.excoin.modules.platform.dao;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.xcong.excoin.common.system.bean.SysExceptionDetailEntity;
+
+/**
+ * @author wzy
+ * @date 2021-03-05
+ **/
+public interface SysExceptionDetailDao extends BaseMapper<SysExceptionDetailEntity> {
+}
diff --git a/src/main/resources/mapper/platform/SysExceptionDetailDao.xml b/src/main/resources/mapper/platform/SysExceptionDetailDao.xml
new file mode 100644
index 0000000..21ac6c5
--- /dev/null
+++ b/src/main/resources/mapper/platform/SysExceptionDetailDao.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.xcong.excoin.modules.platform.dao.SysExceptionDetailDao">
+
+</mapper>
\ No newline at end of file
--
Gitblit v1.9.1