Merge branch 'master-new' of https://gitee.com/zhijiantianya/onemall into master-new
commit
b57b2bc931
@ -0,0 +1,25 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project xmlns="http://maven.apache.org/POM/4.0.0"
|
||||||
|
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||||
|
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
|
||||||
|
<parent>
|
||||||
|
<artifactId>common</artifactId>
|
||||||
|
<groupId>cn.iocoder.mall</groupId>
|
||||||
|
<version>1.0-SNAPSHOT</version>
|
||||||
|
</parent>
|
||||||
|
<modelVersion>4.0.0</modelVersion>
|
||||||
|
|
||||||
|
<artifactId>mall-spring-boot-starter-sentry</artifactId>
|
||||||
|
|
||||||
|
<dependencies>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.sentry</groupId>
|
||||||
|
<artifactId>sentry-spring-boot-starter</artifactId>
|
||||||
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.sentry</groupId>
|
||||||
|
<artifactId>sentry-logback</artifactId>
|
||||||
|
</dependency>
|
||||||
|
</dependencies>
|
||||||
|
|
||||||
|
</project>
|
||||||
@ -0,0 +1,38 @@
|
|||||||
|
package cn.iocoder.mall.sentry.config;
|
||||||
|
|
||||||
|
import cn.iocoder.mall.sentry.resolver.DoNothingExceptionResolver;
|
||||||
|
import io.sentry.spring.SentryExceptionResolver;
|
||||||
|
import io.sentry.spring.autoconfigure.SentryAutoConfiguration;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
|
||||||
|
import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication;
|
||||||
|
import org.springframework.context.annotation.Bean;
|
||||||
|
import org.springframework.context.annotation.Configuration;
|
||||||
|
import org.springframework.web.servlet.HandlerExceptionResolver;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 自定义的 Sentry 自动配置类
|
||||||
|
*
|
||||||
|
* @author Hccake 2020/8/6
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
@ConditionalOnClass({HandlerExceptionResolver.class, SentryExceptionResolver.class})
|
||||||
|
@ConditionalOnWebApplication
|
||||||
|
@ConditionalOnProperty(name = "sentry.enabled", havingValue = "true", matchIfMissing = true)
|
||||||
|
@Configuration(proxyBeanMethods = false)
|
||||||
|
public class CustomSentryAutoConfiguration {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用于覆盖原有的 SentryStarter 提供的 SentryExceptionResolver 操作
|
||||||
|
* 解决使用 log appender 形式推送错误信息与全局异常捕获导致重复推送的情况
|
||||||
|
*
|
||||||
|
* @return DoNothingExceptionResolver
|
||||||
|
*/
|
||||||
|
@Bean
|
||||||
|
@ConditionalOnClass(SentryAutoConfiguration.class)
|
||||||
|
@ConditionalOnMissingBean(SentryExceptionResolver.class)
|
||||||
|
public SentryExceptionResolver doNothingExceptionResolver() {
|
||||||
|
return new DoNothingExceptionResolver();
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,32 @@
|
|||||||
|
package cn.iocoder.mall.sentry.resolver;
|
||||||
|
|
||||||
|
import io.sentry.spring.SentryExceptionResolver;
|
||||||
|
import org.springframework.web.servlet.ModelAndView;
|
||||||
|
|
||||||
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 默认什么也不做的 SentryExceptionResolver
|
||||||
|
*
|
||||||
|
* @author Hccake 2020/8/6
|
||||||
|
* @version 1.0
|
||||||
|
*/
|
||||||
|
public class DoNothingExceptionResolver extends SentryExceptionResolver {
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public ModelAndView resolveException(HttpServletRequest request,
|
||||||
|
HttpServletResponse response,
|
||||||
|
Object handler,
|
||||||
|
Exception ex) {
|
||||||
|
// do nothing here
|
||||||
|
|
||||||
|
// null = run other HandlerExceptionResolvers to actually handle the exception
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public int getOrder() {
|
||||||
|
return Integer.MIN_VALUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
@ -0,0 +1,2 @@
|
|||||||
|
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
|
||||||
|
cn.iocoder.mall.sentry.config.CustomSentryAutoConfiguration
|
||||||
Loading…
Reference in new issue