[JAVA] Comment ajouter des informations sur la version de l'application aux informations Sentry

supposition

L'application utilise Sentry pour détecter les informations d'erreur.

Langue et cadre

Aperçu

Je veux pouvoir vérifier quelle version de l'application les informations d'erreur envoyées à Sentry correspondent à l'erreur.

mérite

Capture d'écran 2020-10-15 11.33.52.png

Conditions préalables

Envoyez le fichier de définition suivant dans «» à Sentry. Cette fois, nous enverrons les informations de version à Sentry sous forme de balise.

Fichier de définition

pom.xml


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

Procédure de correction

Effectuez les corrections dans l'ordre suivant.

  1. Ajouter une dépendance
  2. Ajouter un point de terminaison
  3. Ajoutez des informations à afficher sur le terminal
  4. Ajout du processus de transmission à Sentry

1. Ajouter une dépendance

pom.xml


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

2. Ajouter un point de terminaison

application.yml


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

Modifiez le chemin de base en fonction de votre environnement.

3. Ajoutez des informations à afficher sur le terminal

application.yml


info:
  application:
    version: @project.version@

Avec les paramètres jusqu'à ce point, vous pouvez vérifier les informations de version définies dans les étapes jusqu'à ce point en accédant à http: // localhost: 8080 / info comme indiqué ci-dessous.

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

4. Ajout du processus de transmission à Sentry

Fichier de paramètres: ajoutez le traitement suivant à la classe dans laquelle l'annotation @SpringBootApplication est définie.


  @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());
        //Ici, les informations de version sont ajoutées sous forme de balise.
        appVersion.ifPresent(s -> sentryClient.addTag("version", s));
      } catch (InvalidDsnException e) {
        LOGGER.warn(e.getMessage(), e);
      }
    }
    return new SentryExceptionResolverImpl();
  }

Après le réglage

Après avoir terminé les paramètres ci-dessus, si une erreur se produit dans l'application, la balise version suivante sera affichée. En cliquant sur la partie numérique de la version, vous pouvez vérifier les résultats de la recherche mentionnés comme le mérite au début.

Capture d'écran 2020-10-15 11.27.03.png

Recommended Posts

Comment ajouter des informations sur la version de l'application aux informations Sentry
Comment abaisser la version java
Comment ajouter la fonction ActionText
Comment vérifier la version JSF
Comment surveiller les informations d'application en temps réel à l'aide de JConsole
Comment ajouter Hyperledger Iroha Peer
[rails] Comment afficher les informations de base de données
[Rails] Comment ajouter de nouvelles pages
Comment ajouter un pot local au pom.xml de Maven
[Java] Comment ajouter des données à la liste (add, addAll)
Étapes pour publier une application sur Heroku
Comment ajouter un nouveau hachage / tableau
Comment ajouter un fichier jar dans ScalaIDE
Comment créer une classe qui hérite des informations de classe
Comment effacer la base de données lors de la recréation de l'application
Comment ajouter un chemin de classe dans Spring Boot
Comment ajouter conditionnellement une classe html.erb dans Rails
Comment créer un plug-in natif Unity (version Android)
Comment utiliser le protocole NFS version 2 avec Ubuntu 18.04
Comment écrire React Native Bridge ~ Version Android ~
Comment exécuter NullpoMino 7.5.0 sur la version 64 bits d'Ubuntu 20.04.1
Comment mettre à jour les informations utilisateur sans mot de passe
Comment obtenir des informations sur les tables associées dans les tables plusieurs-à-plusieurs
Comment ajouter des caractères à afficher lors de l'utilisation de la méthode link_to
Comment organiser les informations pour rationaliser l'apprentissage de la programmation
[Ruby] Comment utiliser rbenv (la version `x.x.x 'n'est pas installée)
Installez MySQL 5.6 sur CentOS6 [Comment spécifier la version]
Comment transmettre des informations de pixels d'image de manière native depuis Unity
Comment télécharger une ancienne version d'Apache Tomcat
Ajouter un fichier au fichier jar
Comment développer OpenSPIFe
Comment appeler AmazonSQSAsync
Comment utiliser Map
Comment écrire des rails
Comment utiliser rbenv
Comment utiliser fields_for
Comment utiliser java.util.logging
Comment utiliser la carte
Comment utiliser collection_select
Comment utiliser Twitter4J
Comment utiliser active_hash! !!
Comment installer Docker
Comment utiliser MapStruct
Comment utiliser TreeSet
Comment désinstaller Rails
Comment installer docker-machine
[Comment utiliser l'étiquette]
Comment faire un pot ombré
Comment utiliser l'identité
Comment utiliser le hachage