

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

# Configuration du SDK X-Ray pour Java
<a name="xray-sdk-java-configuration"></a>

**Note**  
Avis de SDK/Daemon maintenance de X-Ray — Le 25 février 2026, le AWS X-Ray SDKs/Daemon passera en mode maintenance, où les versions du SDK et du Daemon de X-Ray AWS seront limitées uniquement pour résoudre les problèmes de sécurité. Pour plus d'informations sur le calendrier de support, consultez[Chronologie du support pour le SDK et Daemon X-Ray](xray-sdk-daemon-timeline.md). Nous vous recommandons de migrer vers OpenTelemetry. Pour plus d'informations sur la migration vers OpenTelemetry, consultez la section [Migration de l'instrumentation X-Ray vers OpenTelemetry l'instrumentation](https://docs.aws.amazon.com/xray/latest/devguide/xray-sdk-migration.html).

Le SDK X-Ray pour Java inclut une classe `AWSXRay` nommée qui fournit l'enregistreur global. Ceci est un `TracingHandler` que vous pouvez utiliser pour outiller votre code. Vous pouvez configurer l'enregistreur mondial pour personnaliser le `AWSXRayServletFilter` qui crée des segments pour les appels HTTP entrants.

**Topics**
+ [Plug-ins de service](#xray-sdk-java-configuration-plugins)
+ [Règles d'échantillonnage](#xray-sdk-java-configuration-sampling)
+ [Logging](#xray-sdk-java-configuration-logging)
+ [Écouteurs de segment](#xray-sdk-java-configuration-listeners)
+ [Variables d’environnement](#xray-sdk-java-configuration-envvars)
+ [Propriétés système](#xray-sdk-java-configuration-sysprops)

## Plug-ins de service
<a name="xray-sdk-java-configuration-plugins"></a>

Permet `plugins` d'enregistrer des informations sur le service hébergeant votre application.

**Plug-ins**
+ Amazon EC2 : `EC2Plugin` ajoute l'ID de l'instance, la zone de disponibilité et le groupe de CloudWatch journaux.
+ Elastic `ElasticBeanstalkPlugin` Beanstalk : ajoute le nom de l'environnement, l'étiquette de version et l'ID de déploiement.
+ Amazon ECS — `ECSPlugin` ajoute l'ID du conteneur.
+ Amazon EKS : `EKSPlugin` ajoute l'ID du conteneur, le nom du cluster, l'ID du pod et le groupe de CloudWatch journaux.

![\[Segmentez les données des ressources avec les plugins Amazon EC2 et Elastic Beanstalk.\]](http://docs.aws.amazon.com/fr_fr/xray/latest/devguide/images/scorekeep-PUTrules-segment-resources.png)


Pour utiliser un plug-in, appelez `withPlugin` sur votre `AWSXRayRecorderBuilder`.

**Example src/main/java/scorekeep/WebConfig.java - enregistreur**  

```
import [com.amazonaws.xray.AWSXRay](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRay.html);
import [com.amazonaws.xray.AWSXRayRecorderBuilder](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRayRecorderBuilder.html);
import [com.amazonaws.xray.plugins.EC2Plugin](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/plugins/EC2Plugin.html);
import [com.amazonaws.xray.plugins.ElasticBeanstalkPlugin](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/plugins/ElasticBeanstalkPlugin.html);
import [com.amazonaws.xray.strategy.sampling.LocalizedSamplingStrategy](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/strategy/sampling/LocalizedSamplingStrategy.html);

@Configuration
public class WebConfig {
...
  static {
    AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder.standard().withPlugin(new EC2Plugin()).withPlugin(new ElasticBeanstalkPlugin());

    URL ruleFile = WebConfig.class.getResource("/sampling-rules.json");
    builder.withSamplingStrategy(new LocalizedSamplingStrategy(ruleFile));

    AWSXRay.setGlobalRecorder(builder.build());
  }
}
```

Le SDK utilise également les paramètres du plugin pour définir le `origin` champ du segment. Cela indique le type de AWS ressource qui exécute votre application. Lorsque vous utilisez plusieurs plug-ins, le SDK utilise l'ordre de résolution suivant pour déterminer l'origine : ElasticBeanstalk > EKS > ECS > EC2.

## Règles d'échantillonnage
<a name="xray-sdk-java-configuration-sampling"></a>

Le SDK utilise les règles d'échantillonnage que vous définissez dans la console X-Ray pour déterminer les demandes à enregistrer. La règle par défaut suit la première demande chaque seconde, et 5 % de toutes les demandes supplémentaires provenant de tous les services envoient des traces à X-Ray. [Créez des règles supplémentaires dans la console X-Ray](xray-console-sampling.md) pour personnaliser la quantité de données enregistrées pour chacune de vos applications.

Le SDK applique les règles personnalisées dans l'ordre dans lequel elles sont définies. Si une demande correspond à plusieurs règles personnalisées, le SDK applique uniquement la première règle.

**Note**  
Si le SDK ne parvient pas à accéder à X-Ray pour obtenir des règles d'échantillonnage, il revient à une règle locale par défaut concernant la première demande chaque seconde, et 5 % de toutes les demandes supplémentaires par hôte. Cela peut se produire si l'hôte n'est pas autorisé à appeler sampling APIs ou ne peut pas se connecter au daemon X-Ray, qui agit comme un proxy TCP pour les appels d'API effectués par le SDK.

Vous pouvez également configurer le SDK pour charger des règles d'échantillonnage à partir d'un document JSON. Le SDK peut utiliser les règles locales comme solution de rechange dans les cas où l'échantillonnage X-Ray n'est pas disponible, ou utiliser exclusivement les règles locales.

**Example sampling-rules.json**  

```
{
  "version": 2,
  "rules": [
    {
      "description": "Player moves.",
      "host": "*",
      "http_method": "*",
      "url_path": "/api/move/*",
      "fixed_target": 0,
      "rate": 0.05
    }
  ],
  "default": {
    "fixed_target": 1,
    "rate": 0.1
  }
}
```

Cet exemple définit une règle personnalisée et une règle par défaut. La règle personnalisée applique un taux d'échantillonnage de 5 % sans nombre minimum de demandes à suivre pour les chemins sous-jacents. `/api/move/` La règle par défaut suit la première demande chaque seconde et 10 % des demandes supplémentaires.

L'inconvénient de définir des règles localement est que la cible fixe est appliquée par chaque instance de l'enregistreur indépendamment, au lieu d'être gérée par le service X-Ray. Au fur et à mesure que vous déployez de nouveaux hôtes, le taux fixe est multiplié, ce qui complique le contrôle de la quantité de données enregistrées.

Activé AWS Lambda, vous ne pouvez pas modifier le taux d'échantillonnage. Si votre fonction est appelée par un service instrumenté, les appels ayant généré des demandes échantillonnées par ce service seront enregistrés par Lambda. Si le suivi actif est activé et qu'aucun en-tête de suivi n'est présent, Lambda prend la décision d'échantillonnage.

Pour fournir des règles de sauvegarde dans Spring, configurez l'enregistreur mondial avec une stratégie `CentralizedSamplingStrategy` dans une classe de configuration.

**Example src/main/java/myapp/WebConfig.java - configuration de l'enregistreur**  

```
import [com.amazonaws.xray.AWSXRay](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRay.html);
import [com.amazonaws.xray.AWSXRayRecorderBuilder](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRayRecorderBuilder.html);
import [com.amazonaws.xray.javax.servlet.AWSXRayServletFilter](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/javax/servlet/AWSXRayServletFilter.html);
import [com.amazonaws.xray.plugins.EC2Plugin](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/plugins/EC2Plugin.html);
import [com.amazonaws.xray.strategy.sampling.LocalizedSamplingStrategy](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/strategy/sampling/LocalizedSamplingStrategy.html);

@Configuration
public class WebConfig {

  static {
  AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder.standard().withPlugin(new EC2Plugin());

  URL ruleFile = WebConfig.class.getResource("/sampling-rules.json");
  builder.withSamplingStrategy(new CentralizedSamplingStrategy(ruleFile));

  AWSXRay.setGlobalRecorder(builder.build());
}
```

Pour Tomcat, ajoutez un écouteur qui étend `ServletContextListener` et enregistrez l'écouteur dans le descripteur de déploiement.

**Example src/com/myapp/web/Startup.java**  

```
import [com.amazonaws.xray.AWSXRay](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRay.html);
import [com.amazonaws.xray.AWSXRayRecorderBuilder](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/AWSXRayRecorderBuilder.html);
import [com.amazonaws.xray.plugins.EC2Plugin](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/plugins/EC2Plugin.html);
import [com.amazonaws.xray.strategy.sampling.LocalizedSamplingStrategy](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/strategy/sampling/LocalizedSamplingStrategy.html);

import java.net.URL;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

public class Startup implements ServletContextListener {

    @Override
    public void contextInitialized(ServletContextEvent event) {
        AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder.standard().withPlugin(new EC2Plugin());

        URL ruleFile = Startup.class.getResource("/sampling-rules.json");
        builder.withSamplingStrategy(new CentralizedSamplingStrategy(ruleFile));

        AWSXRay.setGlobalRecorder(builder.build());
    }

    @Override
    public void contextDestroyed(ServletContextEvent event) { }
}
```

**Example WEB-INF/web.xml**  

```
...
  <listener>
    <listener-class>com.myapp.web.Startup</listener-class>
  </listener>
```

Pour utiliser les règles local uniquement, remplacez `CentralizedSamplingStrategy` par `LocalizedSamplingStrategy`.

```
builder.withSamplingStrategy(new LocalizedSamplingStrategy(ruleFile));
```

## Logging
<a name="xray-sdk-java-configuration-logging"></a>

Par défaut, le SDK envoie des messages de `ERROR` niveau B dans les journaux de vos applications. Vous pouvez activer la journalisation au niveau du débogage sur le SDK pour générer des journaux plus détaillés dans le fichier journal de votre application. Les niveaux de journalisation valides sont `DEBUG` `INFO``WARN`,,`ERROR`, et`FATAL`. `FATAL`le niveau du journal fait taire tous les messages de journal car le SDK ne se connecte pas au niveau fatal.

**Example application.properties**  
Définissez le niveau de journalisation avec la propriété `logging.level.com.amazonaws.xray`.  

```
logging.level.com.amazonaws.xray = DEBUG
```

Utilisez les journaux de débogage pour identifier les problèmes, tels que des sous-segments ouverts, lorsque vous [générez manuellement des sous-segments](xray-sdk-java-subsegments.md).

### Injection d'ID de suivi dans les journaux
<a name="xray-sdk-java-configuration-logging-id-injection"></a>

Pour exposer l'ID de trace complet actuel à vos instructions de journal, vous pouvez l'injecter dans le contexte de diagnostic mappé (MDC). À l'aide de l'interface `SegmentListener`, les méthodes sont appelées à partir de l'enregistreur X-Ray lors des événements du cycle de vie des segments. Lorsqu'un segment ou un sous-segment commence, l'ID de trace qualifié est injecté dans le MDC avec la clé `AWS-XRAY-TRACE-ID`. Lorsque ce segment se termine, la clé est supprimée du MDC. Ceci expose l'ID de trace à la bibliothèque de journalisation en cours d'utilisation. Lorsqu'un sous-segment se termine, son ID parent est injecté dans le MDC.

**Example ID de trace complet**  
L'ID complet est affiché au format `TraceID@EntityID`  

```
1-5df42873-011e96598b447dfca814c156@541b3365be3dafc3
```

Cette fonctionnalité fonctionne avec les applications Java instrumentées avec le SDK AWS X-Ray pour Java et prend en charge les configurations de journalisation suivantes :
+ SLF4API frontale J avec backend Logback
+ SLF4API frontale J avec backend Log4J2
+ API frontale Log4J2 avec backend Log4J2

Consultez les onglets suivants pour connaître les besoins de chaque frontal et de chaque backend.

------
#### [ SLF4J Frontend ]

1. Ajoutez la dépendance Maven suivante à votre projet.

   ```
   <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-xray-recorder-sdk-slf4j</artifactId>
       <version>2.11.0</version>
   </dependency>
   ```

1. Incluez la méthode `withSegmentListener` lors de la construction du `AWSXRayRecorder`. Cela ajoute une `SegmentListener` classe qui injecte automatiquement une nouvelle trace IDs dans le SLF4 J MDC.

   `SegmentListener` utilise une chaîne facultative comme paramètre pour configurer le préfixe de l'instruction de journalisation. Le préfixe peut être configuré comme suit :
   + **Aucun** — Utilise le `AWS-XRAY-TRACE-ID` préfixe par défaut.
   + **Vide** — Utilise une chaîne vide (par exemple`""`).
   + **Personnalisé** — Utilise un préfixe personnalisé tel que défini dans la chaîne.  
**Example `AWSXRayRecorderBuilder` déclaration**  

   ```
   AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder
           .standard().withSegmentListener(new SLF4JSegmentListener("CUSTOM-PREFIX"));
   ```

------
#### [ Log4J2 front end ]

1. Ajoutez la dépendance Maven suivante à votre projet.

   ```
   <dependency>
       <groupId>com.amazonaws</groupId>
       <artifactId>aws-xray-recorder-sdk-log4j</artifactId>
       <version>2.11.0</version>
   </dependency>
   ```

1. Incluez la méthode `withSegmentListener` lors de la construction du `AWSXRayRecorder`. Cela ajoutera une `SegmentListener` classe qui injecte automatiquement une nouvelle trace entièrement qualifiée IDs dans le SLF4 J MDC.

   `SegmentListener` utilise une chaîne facultative comme paramètre pour configurer le préfixe de l'instruction de journalisation. Le préfixe peut être configuré comme suit :
   + **Aucun** — Utilise le `AWS-XRAY-TRACE-ID` préfixe par défaut.
   + **Vide** — Utilise une chaîne vide (par exemple`""`) et supprime le préfixe.
   + **Personnalisé** — Utilise le préfixe personnalisé défini dans la chaîne.  
**Example `AWSXRayRecorderBuilder` déclaration**  

   ```
   AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder
           .standard().withSegmentListener(new Log4JSegmentListener("CUSTOM-PREFIX"));
   ```

------
#### [ Logback backend ]

Pour insérer l'ID de trace dans vos événements de journal, vous devez modifier le `PatternLayout` de l'enregistreur, qui formate chaque instruction de journalisation.

1. Recherchez l'emplacement où `patternLayout` est configuré. Vous pouvez le faire par programme ou via un fichier de configuration XML. Pour en savoir plus, consultez [Configuration Logback](http://logback.qos.ch/manual/configuration.html).

1. Insérez `%X{AWS-XRAY-TRACE-ID}` n'importe où dans le `patternLayout` pour insérer l'ID de trace dans les instructions de journalisation futures. `%X{}` indique que vous récupérez une valeur avec la clé fournie à partir du MDC. Pour en savoir plus sur PatternLayouts Logback, voir [PatternLayout](https://logback.qos.ch/manual/layouts.html#ClassicPatternLayout).

------
#### [ Log4J2 backend ]

1. Recherchez l'emplacement où `patternLayout` est configuré. Vous pouvez le faire par programme ou via un fichier de configuration écrit au format XML, JSON, YAML ou propriétés. 

   Pour en savoir plus sur la configuration de Log4J2 via un fichier de configuration, consultez [Configuration](https://logging.apache.org/log4j/2.x/manual/configuration.html). 

   Pour en savoir plus sur la configuration de Log4J2 par programmation, consultez [Configuration programmatique](https://logging.apache.org/log4j/2.x/manual/customconfig.html). 

1. Insérez `%X{AWS-XRAY-TRACE-ID}` n'importe où dans le `PatternLayout` pour insérer l'ID de trace dans les instructions de journalisation futures. `%X{}` indique que vous récupérez une valeur avec la clé fournie à partir du MDC. [Pour en savoir plus sur PatternLayouts Log4J2, consultez Pattern Layout.](https://logging.apache.org/log4j/2.x/manual/layouts.html#Pattern_Layout)

------

**Exemple d'injection d'ID de trace**  
Ce qui suit montre une chaîne `PatternLayout` modifiée pour inclure l'ID de trace. L'ID de trace est imprimé après le nom du thread (`%t`) et avant le niveau du journal (`%-5p`).

**Example `PatternLayout` avec injection d'ID**  

```
%d{HH:mm:ss.SSS} [%t] %X{AWS-XRAY-TRACE-ID} %-5p %m%n
```

AWS X-Ray imprime automatiquement la clé et l'identifiant de trace dans l'instruction du journal pour faciliter l'analyse. Ce qui suit montre une instruction de journal à l'aide de la modification de `PatternLayout`.

**Example Instruction de journalisation avec injection d'ID**  

```
2019-09-10 18:58:30.844 [nio-5000-exec-4]  AWS-XRAY-TRACE-ID: 1-5d77f256-19f12e4eaa02e3f76c78f46a@1ce7df03252d99e1 WARN 1 - Your logging message here
```

 Le message de journalisation lui-même est hébergé dans le modèle `%m` et est défini lors de l'appel de l'enregistreur.

## Écouteurs de segment
<a name="xray-sdk-java-configuration-listeners"></a>

Les écouteurs de segments sont une interface permettant d'intercepter les événements du cycle de vie tels que le début et la fin des segments produits par le. `AWSXRayRecorder` L'implémentation d'une fonction d'événement d'écouteur de segment peut consister à ajouter la même annotation à tous les sous-segments lorsqu'ils sont créés avec [https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#onBeginSubsegment-com.amazonaws.xray.entities.Subsegment-](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#onBeginSubsegment-com.amazonaws.xray.entities.Subsegment-), à journaliser un message une fois que chaque segment est envoyé au démon à l'aide de [https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#afterEndSegment-com.amazonaws.xray.entities.Segment-](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#afterEndSegment-com.amazonaws.xray.entities.Segment-), ou à enregistrer les requêtes envoyées par les intercepteurs SQL à l'aide de [https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#beforeEndSubsegment-com.amazonaws.xray.entities.Subsegment-](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#beforeEndSubsegment-com.amazonaws.xray.entities.Subsegment-) pour vérifier si le sous-segment représente une requête SQL, en ajoutant des métadonnées supplémentaires dans ce cas.

Pour consulter la liste complète des `SegmentListener` fonctions, consultez la documentation de l'API [AWS X-Ray Recorder SDK for Java](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html).

L'exemple suivant montre comment ajouter une annotation cohérente à tous les sous-segments lors de la création avec [https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#onBeginSubsegment-com.amazonaws.xray.entities.Subsegment-](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#onBeginSubsegment-com.amazonaws.xray.entities.Subsegment-) et comment imprimer un message de journal à la fin de chaque segment avec [https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#afterEndSegment-com.amazonaws.xray.entities.Segment-](https://docs.aws.amazon.com/xray-sdk-for-java/latest/javadoc/com/amazonaws/xray/listeners/SegmentListener.html#afterEndSegment-com.amazonaws.xray.entities.Segment-). 

**Example MySegmentListener.java**  

```
import com.amazonaws.xray.entities.Segment;
import com.amazonaws.xray.entities.Subsegment;
import com.amazonaws.xray.listeners.SegmentListener;

public class MySegmentListener implements SegmentListener {
    .....
    
    @Override
    public void onBeginSubsegment(Subsegment subsegment) {
        subsegment.putAnnotation("annotationKey", "annotationValue");
    }
    
    @Override
    public void afterEndSegment(Segment segment) {
        // Be mindful not to mutate the segment
        logger.info("Segment with ID " + segment.getId());
    }
}
```

Cet écouteur de segment personnalisé est ensuite référencé lors de la génération de `AWSXRayRecorder`.

**Example AWSXRayRecorderBuilder déclaration**  

```
AWSXRayRecorderBuilder builder = AWSXRayRecorderBuilder
        .standard().withSegmentListener(new MySegmentListener());
```

## Variables d’environnement
<a name="xray-sdk-java-configuration-envvars"></a>

Vous pouvez utiliser des variables d'environnement pour configurer le SDK X-Ray pour Java. Le kit SDK prend en charge les variables suivantes.
+ `AWS_XRAY_CONTEXT_MISSING`— Réglé sur `RUNTIME_ERROR` pour générer des exceptions lorsque votre code instrumenté tente d'enregistrer des données alors qu'aucun segment n'est ouvert.

**Valeurs valides**
  + `RUNTIME_ERROR`— Lance une exception d'exécution.
  + `LOG_ERROR`— Enregistrez une erreur et continuez (par défaut).
  + `IGNORE_ERROR`— Ignorez l'erreur et continuez.

  Des erreurs liées à des segments ou sous-segments manquants peuvent se produire lorsque vous essayez d'utiliser un client instrumenté dans un code de démarrage qui s'exécute lorsqu'aucune demande n'est ouverte, ou dans un code qui génère un nouveau thread.
+ `AWS_XRAY_DAEMON_ADDRESS`— Définissez l'hôte et le port de l'écouteur du daemon X-Ray. Par défaut, le SDK utilise à la fois `127.0.0.1:2000` les données de trace (UDP) et l'échantillonnage (TCP). Utilisez cette variable si vous avez configuré le démon pour qu'il [écoute sur un port différent](xray-daemon-configuration.md) ou s'il s'exécute sur un autre hôte.

**Format**
  + **Même port** — `address:port`
  + **Différents ports** — `tcp:address:port udp:address:port`
+ `AWS_LOG_GROUP`— Définissez le nom d'un groupe de journaux sur le groupe de journaux associé à votre application. Si votre groupe de journaux utilise le même AWS compte et la même région que votre application, X-Ray recherchera automatiquement les données de segment de votre application à l'aide de ce groupe de journaux spécifié. Pour plus d'informations sur les groupes de journaux, consultez la section [Utilisation des groupes de journaux et des flux](https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/Working-with-log-groups-and-streams.html).
+ `AWS_XRAY_TRACING_NAME`— Définissez un nom de service que le SDK utilise pour les segments. Remplace le nom de service que vous définissez sur la [stratégie d'attribution de noms de segment](xray-sdk-java-filters.md#xray-sdk-java-filters-naming) du filtre servlet.

Les variables d'environnement remplacent les [propriétés de système](#xray-sdk-java-configuration-sysprops) et les valeurs équivalentes définies dans le code.

## Propriétés système
<a name="xray-sdk-java-configuration-sysprops"></a>

Vous pouvez utiliser les propriétés de système en tant qu'alternative JVM aux [variables d'environnement](#xray-sdk-java-configuration-envvars). Le kit SDK prend en charge les propriétés suivantes :
+ `com.amazonaws.xray.strategy.tracingName`— Équivalent à`AWS_XRAY_TRACING_NAME`.
+ `com.amazonaws.xray.emitters.daemonAddress`— Équivalent à`AWS_XRAY_DAEMON_ADDRESS`.
+ `com.amazonaws.xray.strategy.contextMissingStrategy`— Équivalent à`AWS_XRAY_CONTEXT_MISSING`.

Si une propriété système et la variable d'environnement équivalente sont toutes les deux définies, c'est la valeur de la variable d'environnement qui est utilisée. Les deux méthodes remplacent les valeurs définies dans le code.