2019. 3. 12. 11:20ㆍ카테고리 없음
raven : sentry 샘플 프로젝트
raven-java
raven-python 이런 식으로 나뉜다.
그런데 이건 이제 만료된 샘플 프로젝트 현재 sentry-java 로 바뀌었다.
그런데 Git 허브에 있는 sentry-java 샘플 코드를 참조해서 진행하려 했으나 아무리해도 안됨
-> 그냥 프로젝트 새로 만들고 이하 샘플 코드가 환경을 안타고 가장 확실하게 동작하는 듯 싶다.
Sentry 8
1. pom.xml 에 sentry dependency 추가
<dependencies>
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry</artifactId>
<version>1.6.7</version>
</dependency>
</dependencies>
2. maven - reimport
3. 샘플 코드는 이하 동일
Sentry 9
※ io.sentry의 버전이 1.6.7 일 경우 Sentry 9.0.0 페이지로 전송시 에러남
1. pom.xml 에 sentry dependency 추가
<dependencies>
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry</artifactId>
<version>1.7.16</version>
</dependency>
</dependencies>
2. maven - reimport
3.
package sentry;
import io.sentry.Sentry;
import io.sentry.SentryClient;
import io.sentry.SentryClientFactory;
import io.sentry.context.Context;
import io.sentry.event.BreadcrumbBuilder;
import io.sentry.event.UserBuilder;
public class MyClass {
private static SentryClient sentry;
public static void main(String[] args){
System.out.println("Place your dsn in init() Run this class");
Sentry.init("http://...");
MyClass myClassSentry8 = new MyClass();
myClassSentry8.createArithmaticError();
//myClassSentry8.logWithStaticAPI();
//myClassSentry8.logWithInstanceAPI();
}
void unsafeMethod() {
throw new UnsupportedOperationException("You shouldn't call this!");
}
void createArithmaticError(){
try{
int x = 1/0;
}catch(Exception e){
Sentry.capture(e);
}
}
void logWithStaticAPI() {
Sentry.getContext().recordBreadcrumb( new BreadcrumbBuilder().setMessage("User made an action").build() );
Sentry.getContext().setUser( new UserBuilder().setEmail("hello@sentry.io").build() );
Sentry.getContext().addExtra("extra", "thing");
Sentry.getContext().addTag("tagName", "tagValue");
Sentry.capture("This is a test 1");
try {
unsafeMethod();
} catch (Exception e) {
Sentry.capture(e);
}
}
void logWithInstanceAPI() {
sentry = SentryClientFactory.sentryClient();
Context context = sentry.getContext();
context.recordBreadcrumb(new BreadcrumbBuilder().setMessage("User made an action").build());
context.setUser(new UserBuilder().setEmail("hello@sentry.io").build());
sentry.sendMessage("This is a test 2");
try {
unsafeMethod();
} catch (Exception e) {
sentry.sendException(e);
}
}
}