Activer la journalisation du débogage pour la collecte de données

La journalisation des diagnostics permet d’expliquer les commandes SDK, l’exécution des balises, les avertissements et les erreurs lors de l’exécution de votre implémentation. Utilisez-le avec inspection des demandes lorsque vous devez également inspecter les demandes ou le traitement. Si vous ne savez pas par où commencer, consultez la présentation du débogage et du dépannage.

Choisir une méthode de journalisation choose-a-logging-method

Mise en œuvre
Activer la journalisation
Où le lire
Portée et réinitialisation
Web SDK, implémenté directement
debugEnabled, setDebug, le paramètre de requête alloy_debug ou Debugger
Console du navigateur
debugEnabled s’applique à chaque visiteur qui exécute cette configuration. setDebug et alloy_debug s’appliquent uniquement à l’onglet de votre navigateur, persistent sur les chargements de page de même origine dans cet onglet et sont prioritaires sur debugEnabled. Désactivez-les explicitement lorsque vous avez terminé.
Balises, y compris le SDK Web géré par extension
_satellite.setDebug(true)
Console du navigateur
S’applique uniquement à votre navigateur. Stocké dans le stockage local pour l’origine, de sorte qu’il persiste entre les chargements de page et les redémarrages du navigateur jusqu’à ce que vous exécutiez _satellite.setDebug(false) ou effaciez les données du site.
SDK du serveur
debugEnabled ou setDebug.
Sortie de la console du serveur/du journal
La configuration définit la ligne de base pour les descripteurs d’instance et de requête. Les modifications d’exécution affectent uniquement l’instance ou le handle appelé. Les paramètres ne survivent pas au redémarrage d’un processus, sauf si votre code les réapplique.
SDK Mobile
MobileCore.setLogLevel
Android Logcat ou la console de développement iOS
S’applique dans l’application en cours d’exécution. Définissez le niveau souhaité lors de l’initialisation à chaque lancement ; restaurez la journalisation au niveau de l’erreur après le débogage.

La journalisation du débogage de Web SDK, de la bibliothèque de balises et de Server SDK est désactivée par défaut. Mobile SDK utilise par défaut la journalisation au niveau des erreurs plutôt que l’absence de journalisation.

IMPORTANT
Les messages de débogage peuvent contenir des données d’événement et des identifiants visiteur. Privilégiez le débogage en local ou en développement uniquement, évitez la journalisation de production détaillée et supprimez les informations sensibles avant de partager la sortie. La journalisation ne prouve pas que l’Edge Network ou un service en aval a reçu et traité un événement.

Activer la journalisation par bibliothèque enable-logging

Développez la section de la bibliothèque que votre implémentation utilise. Chaque section explique comment activer la journalisation, où lire la sortie et comment la désactiver.

Web SDK

Les méthodes suivantes contrôlent la sortie du diagnostic Web SDK. Elles n’activent pas la journalisation de la bibliothèque de balises pour une implémentation autonome de Web SDK.

debugEnableddans la commande configure : définissez debugEnabled sur true dans l’appel configure existant. Ce paramètre est utile dans les environnements de développement. S’il est déployé dans le code de votre site, il active la journalisation pour les visiteurs qui exécutent cette configuration.

code language-js
alloy("configure", {
  datastreamId: "ebebf826-a01f-4458-8cec-ef61de241c93",
  orgId: "ADB3LETTERSANDNUMBERS@AdobeOrg",
  debugEnabled: true
});

Remplacez la valeur de configuration par false ou omettez-la dans les déploiements suivants pour restaurer la valeur par défaut. Ne vous exécutez pas configure une deuxième fois sur la même instance pour activer/désactiver la journalisation. Utilisez plutôt setDebug. Un remplacement de débogage local peut être prioritaire sur la valeur de configuration. Voir debugEnabled pour la référence de configuration.

La commande setDebug : exécutez la commande sur l’instance Web SDK appropriée dans la console de votre navigateur :

code language-js
alloy("setDebug", { enabled: true });

Lorsque vous avez terminé, désactivez-la :

code language-js
alloy("setDebug", { enabled: false });

L’exécution de cette commande dans la console modifie votre instance locale, et non les navigateurs des autres visiteurs. Si vous placez la même commande dans le code de site déployé, cela affecte les visiteurs qui exécutent ce code. Le remplacement local peut persister entre les chargements de page pour cette instance dans la session de l’onglet de même origine lorsque l’espace de stockage du navigateur est disponible. Voir setDebug pour plus d’informations.

Le paramètre de chaîne de requête alloy_debug : ajoutez des alloy_debug=true à l’URL de la page, puis chargez la page :

code language-text
https://example.com/?alloy_debug=true

Utilisez &alloy_debug=true si l’URL comporte déjà des paramètres de requête. Ce paramètre permet la journalisation locale sans modifier le code déployé. Web SDK lit le paramètre lors de la création de chaque instance. Il s’applique donc à chaque instance de Web SDK de la page. Lorsque l’espace de stockage du navigateur est disponible, le paramètre persiste pour la session de même origine de l’onglet. Par conséquent, la suppression du paramètre seul ne désactive pas la journalisation. Chargez la page avec alloy_debug=false ou exécutez setDebug avec enabled: false pour la désactiver. Si l’URL contient toujours des alloy_debug=true, le recharger permet de relancer la journalisation.

​​: ouvrez Adobe Experience Platform Debugger, sélectionnez la section Web SDK et activez le débogage dans son onglet de configuration. Désactivez l’option lorsque vous avez terminé.

Activer le débogage Web SDK dans le débogueur

Cette procédure permet d’effectuer des diagnostics. L’utilisation du débogueur pour les demandes ou l’inspection d’Edge est traitée dans la section Inspecter les demandes de collecte de données.

Balises et extension de balise Web SDK

Sur une page contenant une bibliothèque de balises, exécutez les éléments suivants dans la console de votre navigateur :

code language-js
_satellite.setDebug(true);

Cette commande expose les messages de la bibliothèque de balises, y compris la sortie _satellite.logger. Pour les instances de Web SDK gérées par l’extension de balise Web SDK, l’extension utilise le mode de débogage des balises lors de la configuration de SDK et lui transfère les modifications ultérieures du mode de débogage. Ne supposons pas que l’activation du débogage pour une instance de Web SDK autonome ou configurée en externe active également la journalisation des balises.

L’extension de balise Web SDK ne fournit pas de bouton de débogage dans son interface utilisateur de configuration des balises. Utilisez la méthode de la console pour une instance gérée par l’extension. Conservez-le en dehors des règles de balises.

Pour désactiver le mode de débogage des balises et la journalisation SDK gérée par extension correspondante :

code language-js
_satellite.setDebug(false);

Le mode de débogage des balises est stocké dans l’espace de stockage local du navigateur pour l’origine de la page. Il persiste entre les chargements de page et les redémarrages du navigateur jusqu’à ce que vous le désactiviez ou effaciez les données du site et qu’il n’active pas la journalisation pour les autres visiteurs. Voir _satellite.setDebug() pour les détails sur la portée et la persistance.

La bibliothèque de balises informe l’extension uniquement lorsque le mode de débogage des balises change. Si le mode de débogage des balises est déjà activé mais que les messages Web SDK sont manquants, un remplacement de Web SDK à partir de setDebug ou alloy_debug peut avoir désactivé la connexion à SDK. Exécutez _satellite.setDebug(false) puis _satellite.setDebug(true) ou utilisez la même méthode de Web SDK qui a défini le remplacement.

Server SDK

Le Server SDK écrit les résultats de diagnostic dans la console du serveur et non dans le navigateur du visiteur.

Définissez debugEnabled: true dans l’appel de configure côté serveur existant pour activer la journalisation de l’instance et des descripteurs de forRequest créés à partir de cette configuration. La valeur par défaut est de false. Voir debugEnabled pour un exemple de configuration complet.

Pour une enquête ciblée, appelez setDebug sur l’identificateur de portée de requête renvoyé par forRequest. La journalisation des modifications uniquement pour ce handle, afin que vous puissiez déboguer une seule requête sans l’activer pour tous les visiteurs :

code language-js
const visitor = alloy.forRequest({ request: req });

await visitor.setDebug({ enabled: true });
await visitor.sendEvent({
  xdm: { eventType: "web.webpagedetails.pageViews" }
});

L’appel de setDebug sur l’instance de niveau supérieur modifie la journalisation uniquement pour les appels effectués directement sur cette instance, et non pour ses descripteurs de requête, jusqu’à ce que vous la désactiviez ou que le processus redémarre. Pour modifier la ligne de base de tous les descripteurs de requête, mettez à jour debugEnabled dans la configuration du serveur.

Les messages identifient l’instance entre crochets, par exemple [alloy], et incluent la configuration, les entrées/résultats de méthode, les avertissements et les erreurs. Vérifiez la sortie du processus du serveur ou la destination du journal vers laquelle votre environnement d’hébergement l’achemine.

SDK mobile

Utilisez l’API setLogLevel de Mobile Core pour sélectionner le niveau de détail des diagnostics. Android est défini par défaut sur LoggingMode.ERROR ; iOS est défini par défaut sur LogLevel.error. Définissez le niveau souhaité lors de l’initialisation de l’application avant de reproduire le problème.

​​: activer la journalisation détaillée dans votre application de développement :

code language-kotlin
import com.adobe.marketing.mobile.LoggingMode
import com.adobe.marketing.mobile.MobileCore

MobileCore.setLogLevel(LoggingMode.VERBOSE)

Affichez la sortie dans le Logcat d’Android Studio pour le processus d’application en cours d’exécution. Les messages SDK mobiles utilisent la balise AdobeExperienceSDK. Filtrez donc avec tag:AdobeExperienceSDK et assurez-vous que la visionneuse de journaux autorise les messages de débogage et détaillés. Restaurez la journalisation au niveau des erreurs lorsque vous avez terminé :

code language-kotlin
MobileCore.setLogLevel(LoggingMode.ERROR)

​​: activez la journalisation de trace dans votre application de développement :

code language-swift
import AEPCore
import AEPServices

MobileCore.setLogLevel(.trace)

Affichez la console de l’application en cours d’exécution dans Xcode et filtrez les AEP SDK. Restaurez la journalisation au niveau des erreurs lorsque vous avez terminé :

code language-swift
MobileCore.setLogLevel(.error)

Le retour au niveau d’erreur réduit le résultat du diagnostic ; il ne supprime pas les erreurs. Ces appels modifient la journalisation dans l’application en cours d’exécution, et non dans d’autres installations. Assurez-vous que votre code d’initialisation ne réactive pas la journalisation détaillée au prochain lancement ou dans une version de production.

Consultez la Référence de l’API principale mobile pour Java, Objective-C, les niveaux pris en charge et les détails spécifiques aux versions. Pour React Native ou Flutter, utilisez l’API exposée par votre wrapper Mobile SDK plutôt que de copier directement des appels natifs dans le code du wrapper. Pour l’inspection des événements connectés plutôt que la sortie de la console d’exécution, consultez 🔗.

Lire et résoudre les problèmes liés aux sorties de diagnostic read-output

Utilisez les identifiants suivants pour rechercher des messages SDK et de balise dans la sortie du journal occupée. Si vous avez renommé une instance de Web SDK ou de Server SDK, recherchez ce nom au lieu de alloy.

Source
Recherchez
SDK Web
Le nom d’instance entre crochets, par exemple [alloy], suivi d’un nom de composant pour les messages de composant
Balises
🚀 suivi du nom de la règle, de l’extension ou de l’élément de données d’origine entre parenthèses. Voir _satellite.logger.
SDK du serveur
Le nom de l’instance entre crochets, par exemple [alloy]
Mobile SDK (Android)
La balise Logcat AdobeExperienceSDK
Mobile SDK (iOS)
AEP SDK, suivi du niveau de journal et du libellé de l’extension
  • Vérifiez l’emplacement de sortie : les paramètres du navigateur n’exposent pas les journaux du serveur ou des applications natives. Sélectionnez la page de navigateur, le processus de serveur ou le processus d’application approprié.
  • Vérifier les niveaux de journal : les messages Web SDK utilisent les niveaux de console standard affichés par défaut par les navigateurs. Les messages provenant de _satellite.logger.debug() nécessitent le niveau verbeux de la console, et les messages de débogage et verbeux de Mobile SDK nécessitent une visionneuse de journal qui inclut ces niveaux.
  • Activer la journalisation avant l’action : les messages existants ne sont pas recréés simplement parce que vous activez la journalisation. Reproduisez le problème après l’avoir activé.
  • Vérifier le contrôle actif : les remplacements locaux de Web SDK peuvent remplacer la configuration. Les balises et les instances SDK autonomes ne partagent pas nécessairement un paramètre.
  • Distinguer les journaux des preuves de transport : un journal peut indiquer qu’une commande a été exécutée ou qu’un transport a été sélectionné sans preuve de réception. Consultez Inspecter les requêtes de collecte de données pour inspecter les requêtes, les réponses et les vues de traitement prises en charge.

Web SDK hooks de surveillance sont un mécanisme programmatique distinct et s’exécute quel que soit le paramètre de journalisation du débogage. Les clients d’API bruts, les flux de données et le transfert d’événement ne partagent pas un commutateur de journalisation SDK universel ; utilisez leurs journaux d’application ou diagnostics de service selon les besoins.

recommendation-more-help
experience-platform-help-collection