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.


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

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

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:

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:

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:

Le texte
WAXRFrameRenderContext.jsapparaît dansMiniProgramError, indiquant un problème d'utilisation d'interfaces ou de configuration de composants liés à xr-frame.Exemple 4:

Ce journal indique qu'une exception s'est produite pendant l'exécution de la méthode
onCloudLocalizationdans 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 afficheUser. - Phase d'exécution:
Unspecifiedsignifie 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.

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.