[JAVA] Hinzufügen von Informationen zur Anwendungsversion zu Sentry-Informationen

Annahme

Die Anwendung verwendet Sentry, um Fehlerinformationen zu erkennen.

Sprache und Rahmen

Überblick

Ich möchte überprüfen können, in welcher Version der Anwendung die an Sentry gesendeten Fehlerinformationen für den Fehler vorliegen.

verdienen

Screenshot 2020-10-15 11.33.52.png

Voraussetzungen

Senden Sie die folgende Definitionsdatei in <Version> an Sentry. Dieses Mal senden wir die Versionsinformationen als Tag an Sentry.

Definitionsdatei

pom.xml


<?xml version="1.0" encoding="UTF-8"?>
<project xmls="~">
     :
	<groupId>com.example</groupId>
	<artifactId>myproject</artifactId>
	<version>100.0.100</version>
     :
</project>

Korrekturverfahren

Nehmen Sie die Korrekturen in der folgenden Reihenfolge vor.

  1. Abhängigkeit hinzufügen
  2. Endpunkt hinzufügen
  3. Fügen Sie Informationen hinzu, die auf dem Endpunkt angezeigt werden sollen
  4. Hinzufügen eines Übertragungsprozesses zu Sentry

1. Abhängigkeit hinzufügen

pom.xml


    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
    </dependencies>

2. Endpunkt hinzufügen

application.yml


management:
  endpoints:
    web:
      exposure:
        include: "info"
      base-path: "/"

Ändern Sie den Basispfad entsprechend Ihrer Umgebung.

3. Fügen Sie Informationen hinzu, die auf dem Endpunkt angezeigt werden sollen

application.yml


info:
  application:
    version: @project.version@

Mit den Einstellungen bis zu diesem Punkt können Sie die in den Schritten bis zu diesem Punkt festgelegten Versionsinformationen überprüfen, indem Sie wie unten gezeigt auf "http: // localhost: 8080 / info" zugreifen.

{"application":{"version":"100.0.100"}}

4. Hinzufügen eines Übertragungsprozesses zu Sentry

Einstellungsdatei: Fügen Sie der Klasse, in der die Annotation @SpringBootApplication festgelegt ist, die folgende Verarbeitung hinzu.


  @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());
        //Hier werden Versionsinformationen als Tag hinzugefügt.
        appVersion.ifPresent(s -> sentryClient.addTag("version", s));
      } catch (InvalidDsnException e) {
        LOGGER.warn(e.getMessage(), e);
      }
    }
    return new SentryExceptionResolverImpl();
  }

Nach dem Einstellen

Wenn nach Abschluss der obigen Einstellungen ein Fehler in der Anwendung auftritt, wird das folgende "version" -Tag angezeigt. Durch Klicken auf den numerischen Teil der Version können Sie die Suchergebnisse überprüfen, die zu Beginn als Verdienst aufgeführt sind.

Screenshot 2020-10-15 11.27.03.png

Recommended Posts

Hinzufügen von Informationen zur Anwendungsversion zu Sentry-Informationen
So senken Sie die Java-Version
So fügen Sie die ActionText-Funktion hinzu
So überprüfen Sie die JSF-Version
Überwachen von Anwendungsinformationen in Echtzeit mit JConsole
So fügen Sie Hyperledger Iroha Peer hinzu
[Rails] Anzeigen von Datenbankinformationen
[Schienen] So fügen Sie neue Seiten hinzu
So fügen Sie ein lokales Glas zu mavens pom.xml hinzu
[Java] Hinzufügen von Daten zur Liste (add, addAll)
Schritte zum Veröffentlichen einer Anwendung auf Heroku
So fügen Sie einen neuen Hash / Array hinzu
So fügen Sie eine JAR-Datei in ScalaIDE hinzu
So erstellen Sie eine Klasse, die Klasseninformationen erbt
So löschen Sie die Datenbank beim Neuerstellen der App
So fügen Sie in Spring Boot einen Klassenpfad hinzu
So fügen Sie die html.erb-Klasse in Rails bedingt hinzu
Wie erstelle ich Unity Native Plugin (Android-Version)
Verwendung des NFS-Protokolls Version 2 mit Ubuntu 18.04
Wie schreibe ich React Native Bridge ~ Android-Version ~
So führen Sie NullpoMino 7.5.0 unter Ubuntu 20.04.1 64-Bit-Version aus
So aktualisieren Sie Benutzerinformationen ohne Kennwort
So erhalten Sie Informationen zu zugeordneten Tabellen in vielen-zu-vielen-Tabellen
Hinzufügen von Zeichen zur Anzeige bei Verwendung der link_to-Methode
So organisieren Sie Informationen, um das Programmierlernen zu optimieren
[Ruby] Verwendung von rbenv (Version `x.x.x' ist nicht installiert)
Installieren Sie MySQL 5.6 unter CentOS6 [So geben Sie die Version an]
So übergeben Sie Bildpixelinformationen nativ aus Unity
So laden Sie eine ältere Version von Apache Tomcat herunter
Datei zur JAR-Datei hinzufügen
So entwickeln Sie OpenSPIFe
So rufen Sie AmazonSQSAsync auf
Verwendung von Map
Wie schreibe ich Rails
Wie benutzt man rbenv?
Verwendung von fields_for
Verwendung von java.util.logging
Verwendung der Karte
Verwendung von collection_select
Wie benutzt man Twitter4J
Wie benutzt man active_hash! !!
So installieren Sie Docker
Verwendung von MapStruct
Verwendung von TreeSet
So deinstallieren Sie Rails
So installieren Sie Docker-Maschine
[Verwendung des Etiketts]
Wie man ein schattiertes Glas macht
Wie man Identität benutzt
Wie man Hash benutzt