Table of Contents

Analyse des journaux dans WeChat Mini Program

Ce document présente le processus complet d'obtention et d'analyse des journaux dans l'environnement AR de WeChat Mini Program.

Utiliser vConsole de WeChat Mini Program

Comme l'AR de WeChat Mini Program ne peut être exécutée et déboguée que sur un appareil réel, l'utilisation de vConsole pour observer la sortie en temps réel est essentielle au débogage. Pour l'utilisation de base, consultez la documentation officielle de WeChat Mini Program.

Activer vConsole pendant le débogage sur appareil réel

Dans l'interface AR, cliquez sur le premier bouton en haut à droite > cliquez sur Development debugging dans la barre d'outils inférieure > cliquez sur Open debugging > cliquez sur OK dans la fenêtre contextuelle pour redémarrer le Mini Program.

Ouvrir le débogage

Effectif après réouverture

Ensuite, le bouton flottant vConsole restera affiché sur l'interface.

Bouton vConsole

Cliquez sur le bouton vConsole pour voir tous les journaux en cours:

Journaux Mini Program

Distinguer les sources de journaux

Les sources de journaux peuvent généralement être réparties ainsi:

  • Journaux système WeChat Mini Program: généralement déclenchés lors des changements de route de page ou des changements de lifecycle de composant, affichés en bleu dans vConsole.

  • Journaux xr-frame: imprimés par le framework de rendu officiel, avec un contenu commençant par [xr-frame].

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

  • Journaux d'erreur du framework Mini Program: lancés par la couche basse de WeChat, avec un contenu commençant par MiniProgramError.

  • Journaux du plugin Mega Mini Program: imprimés en interne par le plugin Mega Mini Program, avec un contenu commençant par un nom de classe entre crochets, comme [MegaTracker]. Actuellement, ils sont principalement émis lors de la capture d'exceptions.

  • Exemple 1:

    Exemple de journal Mini Program 1

    La première partie en bleu est le journal système et affiche la route de la page ainsi que l'état de chargement.

    La deuxième partie commence par [xr-frame] et affiche les informations de lifecycle du framework de rendu.

    La troisième partie est la sortie personnalisée du développeur.

  • Exemple 2:

    Exemple de journal Mini Program 2

    Des journaux commençant par des noms de classe tels que [MegaTracker] et [EasyARSession(xrframe)] apparaissent, ce qui signifie que le plugin Mega a capturé une exception d'exécution.

  • Exemple 3:

    Exemple de journal Mini Program 3

    Le texte WAXRFrameRenderContext.js apparaît dans MiniProgramError, indiquant un problème d'utilisation d'interfaces ou de configuration de composants liés à xr-frame.

  • Exemple 4:

    Exemple de journal Mini Program 4

    Ce journal indique qu'une exception s'est produite pendant l'exécution de la méthode onCloudLocalization dans le plugin mega, ce qui a amené le framework Mini Program à lancer une erreur.

Format des journaux du plugin Mega Mini Program

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

  • Timestamp: 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 classe: entouré de crochets.
  • Détails: description précise du journal.
  • Caller: généralement Unspecified, indiquant un processus d'exécution naturel; si l'exception provient d'un appel d'interface utilisateur, il affiche User.
  • Phase d'exécution: Unspecified signifie qu'il n'est pas nécessaire d'y prêter attention; d'autres champs indiquent que l'exception s'est produite dans une phase d'exécution spécifique.

Journaux Mini Program

Enregistrer et transférer les journaux

Cette section présente les méthodes d'obtention et d'exportation des journaux.

Exporter les journaux vConsole

Cliquez sur le bouton copier à droite de l'endroit où le journal est imprimé pour l'exporter.

Interface dump log du plugin Mega Mini Program

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

  • Passer true: démarrer l'enregistrement.
  • Passer false: arrêter l'enregistrement et renvoyer le chemin de fichier temporaire (tempFilePath) généré.

Il est généralement recommandé de lier la logique d'enregistrement à un bouton UI. Au début de l'enregistrement, utilisez la méthode wx.showToast() pour indiquer le démarrage; à la fin de l'enregistrement, utilisez la méthode wx.shareFileMessage() pour transférer le fichier enregistré via une conversation WeChat.

/**
 * gere la logique d enregistrement de Session
 * @param signal true demarre l enregistrement ; false l arrete et le transfere
 */
dumpLog(signal: boolean): void {
  // appelle l interface pour obtenir le chemin
  const logPath = session.dumpLog(signal);
  // lorsque signal vaut true, l interface renvoie une chaine vide indiquant que l enregistrement est en cours
  if (logPath.length == 0) {
      wx.showToast({
          title: '开始记录日志',
          icon: 'success',
          duration: 2000
      });
      return;
  }
  // lorsque signal vaut false, traite le chemin de fichier renvoye
  wx.shareFileMessage({
      filePath: logPath,
      success() {
          wx.showToast({
              title: '日志转发成功',
              icon: 'success',
              duration: 2000
          });
      },
      fail() {
          wx.showToast({
              title: '日志转发失败',
              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, avec les indications Toast correspondantes.


Important

Si vous rencontrez, lors de l'utilisation de Mega, des problèmes liés à localization ou tracking plutôt qu'une exception de programme, en plus des journaux, veillez impérativement à fournir le fichier d'enregistrement d'écran et le fichier session dump de ce moment. Un fichier journal seul ne peut fournir qu'une référence indirecte; l'enregistrement d'écran et les données dump sont la base essentielle du dépannage.

Rubriques connexes