Sentry 정보에 애플리케이션 버전 정보를 추가하는 방법
6657 단어 SpringBoot자바Mavensentry
전제
Sentry를 사용하여 오류 정보를 감지하는 응용 프로그램입니다.
사용 언어, 프레임워크
개요
Sentry로 전송되는 오류 정보가 어떤 버전의 애플리케이션에서 발생한 오류인지 확인할 수 있도록 하고 싶습니다.
장점
전제 조건
다음 정의 파일의
<version>
를 Sentry로 보냅니다.이번에는 버전 정보를 Sentry에 태그로 보냅니다.
정의 파일
pom.xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmls="~">
:
<groupId>com.example</groupId>
<artifactId>myproject</artifactId>
<version>100.0.100</version>
:
</project>
수정 절차
다음 순서로 수정합니다.
1. 종속성 추가
2. 엔드포인트 추가
3. 엔드포인트에 표시할 정보 추가
4. Sentry에 전송 처리 추가
1. 종속성 추가
pom.xml <dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
2. 엔드포인트 추가
application.ymlmanagement:
endpoints:
web:
exposure:
include: "info"
base-path: "/"
base-path는 환경에 따라 변경하십시오.
3. 엔드포인트에 표시할 정보 추가
application.ymlinfo:
application:
version: @project.version@
여기까지 설정하면 http://localhost:8080/info
에 액세스 하는 것으로 아래와 같이 여기까지의 순서로 설정한 버젼 정보를 확인할 수 있습니다.
{"application":{"version":"100.0.100"}}
4. Sentry에 전송 처리 추가
설정 파일: @SpringBootApplication 어노테이션을 설정하는 클래스에 다음 처리를 추가합니다.
※ 이미 Sentry에의 송신 처리를 구현하고 있는 경우는 version
관련 처리를 추가해 주세요.
(인수의 추가와 tag의 송신 부분입니다.)
※ 반환값의 형태는
@Bean
public HandlerExceptionResolver sentryExceptionResolver(
@Value("${sentry.url:#{null}}") Optional<String> sentryUrl,
@Value("${info.application.version:#{null}}") Optional<String> appVersion) {
if (sentryUrl.isPresent()) {
try {
SentryClient sentryClient = Sentry.init(sentryUrl.get());
// ここで、タグとしてバージョン情報を追加しています。
appVersion.ifPresent(s -> sentryClient.addTag("version", s));
} catch (InvalidDsnException e) {
LOGGER.warn(e.getMessage(), e);
}
}
return new SentryExceptionResolverImpl();
}
※ sentry.url
도 info.application.version
와 같이 application.yml
에 정의하고 있습니다.
설정 후
위 설정을 완료한 후 응용 프로그램에서 오류가 발생하면 다음과 같은 version
태그가 표시됩니다.
버전의 숫자 부분을 클릭하면 시작 부분에서 이점으로 꼽은 검색 결과를 볼 수 있습니다.
Reference
이 문제에 관하여(Sentry 정보에 애플리케이션 버전 정보를 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/TKazutaro/items/e675109027edb34dfbab
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
</dependencies>
management:
endpoints:
web:
exposure:
include: "info"
base-path: "/"
info:
application:
version: @project.version@
{"application":{"version":"100.0.100"}}
@Bean
public HandlerExceptionResolver sentryExceptionResolver(
@Value("${sentry.url:#{null}}") Optional<String> sentryUrl,
@Value("${info.application.version:#{null}}") Optional<String> appVersion) {
if (sentryUrl.isPresent()) {
try {
SentryClient sentryClient = Sentry.init(sentryUrl.get());
// ここで、タグとしてバージョン情報を追加しています。
appVersion.ifPresent(s -> sentryClient.addTag("version", s));
} catch (InvalidDsnException e) {
LOGGER.warn(e.getMessage(), e);
}
}
return new SentryExceptionResolverImpl();
}
위 설정을 완료한 후 응용 프로그램에서 오류가 발생하면 다음과 같은
version
태그가 표시됩니다.버전의 숫자 부분을 클릭하면 시작 부분에서 이점으로 꼽은 검색 결과를 볼 수 있습니다.
Reference
이 문제에 관하여(Sentry 정보에 애플리케이션 버전 정보를 추가하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/TKazutaro/items/e675109027edb34dfbab텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)