Wenn in der Webanwendung ein Fehler auftritt (diesmal Spring), verwenden Sie Sentry, um Informationen über das Betriebssystem und den Browser des Clients zu sammeln.
OSS, das Fehlerinformationen in verschiedenen Sprachen wie Java, JavaScript, Ruby und C # sammelt. Dies ist praktisch, da Sie den Browser und das Betriebssystem des betriebenen Clients abrufen können. Darüber hinaus können Sie Fehler auf einer GUI-basierten (Slack-ähnlichen Bildschirm) leicht durchsuchen und überprüfen. Sie können Slack auch benachrichtigen und sich als Problem in Jira registrieren.
https://www.getsentry.com/signup/
Wählen Sie im folgenden Bildschirm Java aus und erstellen Sie ein Projekt
Wählen Sie in den Projekteinstellungen Client Keys aus und kopieren Sie die folgende DSN-URL
Sentry-Logback ist eine Bibliothek, die den Inhalt der Protokollausgabe an Sentry sendet
pom.xml
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-spring</artifactId>
<version>1.7.4</version>
</dependency>
<dependency>
<groupId>io.sentry</groupId>
<artifactId>sentry-logback</artifactId>
<version>1.2.0</version>
</dependency>
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletContextInitializer;
import org.springframework.context.annotation.Bean;
import org.springframework.web.servlet.HandlerExceptionResolver;
import io.sentry.Sentry;
@SpringBootApplication
public class SentryApplication {
public static void main(String[] args) {
SpringApplication.run(SentryApplication.class, args);
Sentry.init("https://[email protected]/1202285");
}
@Bean
public HandlerExceptionResolver sentryExceptionResolver() {
return new io.sentry.spring.SentryExceptionResolver();
}
@Bean
public ServletContextInitializer sentryServletContextInitializer() {
return new io.sentry.spring.SentryServletContextInitializer();
}
}
Installieren Sie die folgenden Dateien unter Ressource
logback.xml
<configuration>
<appender name="Console" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n</pattern>
</encoder>
</appender>
<appender name="Sentry" class="io.sentry.logback.SentryAppender">
<filter class="ch.qos.logback.classic.filter.ThresholdFilter">
<level>WARN</level>
</filter>
</appender>
<root level="DEBUG">
<appender-ref ref="Console" />
<appender-ref ref="Sentry"/>
</root>
</configuration>
Der Inhalt zum Zeitpunkt von logger.error wird an Sentry gesendet
@RequestMapping("/")
public String list(Model model) {
logger.error("sentry error");
return "Greetings from Spring Boot!";
}
Senden Sie eine Fehlermail an die von Sentry registrierte Mailadresse. Außerdem häufen sich Fehler in Sentry-Projekten
Es ist möglich, über den Einstellungsbildschirm von Sentry eine Verknüpfung mit Slack herzustellen. Funktioniert mit vielen anderen Apps.
Recommended Posts