Table of Contents

Analyse des journaux sur les mini-programmes WeChat

Cet article présente le processus complet d'obtention et d'analyse des journaux dans l'environnement AR des mini-programmes WeChat.

Utiliser le vConsole des mini-programmes WeChat

Étant donné que l'AR des mini-programmes WeChat ne peut être exécuté et débogué que sur un appareil physique, l'utilisation de vConsole pour observer les sorties en temps réel est essentielle au débogage. L'utilisation de base peut être consultée dans la documentation officielle des mini-programmes WeChat.

Comment activer vConsole lors du débogage sur appareil physique

Dans l'interface AR, cliquez sur le premier bouton en haut à droite > Cliquez sur Débogage de développement dans la barre d'outils inférieure > Cliquez sur Ouvrir le débogage > Dans la fenêtre contextuelle, cliquez sur OK pour redémarrer le mini-programme.

Ouvrir le débogage

Après réouverture

Par la suite, le bouton flottant vConsole restera affiché en permanence sur l'interface.

Bouton vConsole

Cliquez sur le bouton vConsole pour afficher tous les journaux en cours d'exécution :

Journaux du mini-programme

Comment différencier la source des journaux

Les sources des journaux peuvent généralement être classées comme suit :

  • Journaux système du mini-programme WeChat : Généralement déclenchés lors des changements de routage de page ou de cycle de vie des composants, affichés en bleu dans vConsole.

  • Journaux xr-frame : Imprimés par le moteur de rendu officiel, commençant par [xr-frame].

  • Journaux personnalisés par l'utilisateur : Imprimés par le développeur via des interfaces standard comme console.log().

  • Journaux d'erreur du framework du mini-programme : Lancés par la couche basse de WeChat, commençant par MiniProgramError.

  • Journaux du plugin Mega pour mini-programme : Imprimés en interne par le plugin Mega pour mini-programme, les journaux commencent par des noms de classes entre crochets (par ex. [MegaTracker]), actuellement principalement sortis lors de la capture d'exceptions.

  • Exemple 1 :

    Exemple de journal de mini-programme 1

    La première partie en bleu correspond aux journaux système, montrant le routage des pages et leur état de chargement.

    La deuxième partie commençant par [xr-frame] montre les informations du cycle de vie du moteur de rendu.

    La troisième partie correspond aux sorties personnalisées du développeur.

  • Exemple 2 :

    Exemple de journal de mini-programme 2

    Apparaissent des journaux commençant par [MegaTracker], [EasyARSession(xrframe)], etc., ce qui indique que le plugin Mega a capturé une exception d'exécution.

  • Exemple 3 :

    Exemple de journal de mini-programme 3

    Dans MiniProgramError apparaît WAXRFrameRenderContext.js, ce qui indique un problème avec l'utilisation des interfaces ou la configuration des composants liés à xr-frame.

  • Exemple 4 :

    Exemple de journal de mini-programme 4

    Ce journal indique qu'une exception s'est produite lors de l'exécution de la méthode onCloudLocalization dans le plugin mega, provoquant une erreur lancée par le framework du mini-programme.

Format des journaux du plugin Mega pour mini-programme

Les journaux exportés par la méthode dumpLog(signal) sont séparés par |, et contiennent dans l'ordre :

  • Horodatage : Format standard ISO 8601, indiquant l'heure système lors de l'impression du journal.
  • Niveau de journal : Inclut Info, Warning, Error, FatalError.
  • Nom de la classe : Entre crochets.
  • Détails : Description spécifique du journal.
  • Appelant : Généralement Unspecified (indiquant un processus d'exécution naturel) ; si l'exception est provoquée par l'appel d'une interface utilisateur, affiche User.
  • Phase d'exécution : Affiche Unspecified si non pertinent ; affiche d'autres champs si l'exception se produit lors d'une phase d'exécution spécifique.

Journaux du mini-programme

Comment enregistrer et transférer les journaux

Présentation des méthodes d'obtention et d'exportation des journaux.

Exporter les journaux depuis vConsole

Cliquez sur le bouton de copie à droite de l'emplacement du journal imprimé pour exporter.

Interface dump log du plugin Mega pour mini-programme

Contrôlez le processus d'exportation des journaux en appelant l'interface dumpLog(signal) :

  • Passer true : Démarre l'enregistrement.
  • Passer false : Arrête l'enregistrement et renvoie le chemin temporaire du fichier généré (tempFilePath).

Il est généralement conseillé de lier la logique d'enregistrement à un bouton UI. Lors du démarrage de l'enregistrement, indiquez-le via la méthode wx.showToast(). À la fin de l'enregistrement, transférez le fichier enregistré via une discussion WeChat en utilisant la méthode wx.shareFileMessage().

/**
 * Gère la logique d'enregistrement de la Session
 * @param signal true pour démarrer l'enregistrement, false pour arrêter l'enregistrement et transférer
 */
dumpLog(signal: boolean): void {
  // Appeler l'interface pour obtenir le chemin
  const logPath = session.dumpLog(signal);
  // Lorsque signal est true, l'interface renvoie une chaîne vide, indiquant que l'enregistrement est en cours
  if (logPath.length == 0) {
      wx.showToast({
          title: 'Début de l\'enregistrement des journaux',
          icon: 'success',
          duration: 2000
      });
      return;
  }
  // Lorsque signal est false, traiter le chemin de fichier renvoyé
  wx.shareFileMessage({
      filePath: logPath,
      success() {
          wx.showToast({
              title: 'Transfert du journal réussi',
              icon: 'success',
              duration: 2000
          });
      },
      fail() {
          wx.showToast({
              title: 'Échec du transfert du journal',
              icon: 'error',
              duration: 2000
          });
      }
  })
}

Cet exemple montre comment utiliser la méthode session.dumpLog() dans un composant xr-frame pour enregistrer et transférer un fichier journal, tout en fournissant les notifications Toast correspondantes.


Important

Si vous rencontrez des problèmes liés à la localisation ou au suivi avec Mega, plutôt qu'à une exception de programme, fournissez impérativement les fichiers d'enregistrement vidéo et de dump de session de l'époque, en plus des journaux. Les fichiers de journaux purs ne fournissent qu'une référence indirecte ; les enregistrements vidéo et les données de dump sont les éléments essentiels pour résoudre les problèmes.

Sujets connexes