Table of Contents

Analisi dei log su mini program WeChat

Questo articolo descrive il processo completo per ottenere e analizzare i log nell'ambiente AR dei mini program WeChat.

Utilizzo di vConsole su mini program WeChat

Poiché l'AR dei mini program WeChat può essere eseguito e debuggato solo su dispositivi fisici, l'uso di vConsole per osservare l'output in tempo reale è fondamentale per il debug. L'uso di base può essere consultato nella documentazione ufficiale dei mini program WeChat.

Come abilitare vConsole nel debug su dispositivo fisico

Nell'interfaccia AR, fare clic sul primo pulsante in alto a destra > Fare clic su Debug di sviluppo nella barra degli strumenti inferiore > Fare clic su Apri debug > Nella finestra popup fare clic su Conferma per riavviare il mini program.

Apri debug

Effettivo dopo la riapertura

Da questo momento in poi, sull'interfaccia verrà visualizzato in modo persistente il pulsante fluttuante vConsole.

Pulsante vConsole

Fare clic sul pulsante vConsole per visualizzare tutti i log correnti in esecuzione:

Log del mini program

Come distinguere l'origine dei log

L'origine dei log può generalmente essere suddivisa in:

  • Log di sistema del mini program WeChat: Solitamente attivati durante il routing della pagina o i cambiamenti del ciclo di vita dei componenti, visualizzati in vConsole in caratteri blu.

  • Log di xr-frame: Stampati dal framework di rendering ufficiale, i log iniziano con [xr-frame].

  • Log personalizzati dall'utente: Stampati dallo sviluppatore tramite interfacce standard come console.log().

  • Log di errore del framework del mini program: Generati dal livello sottostante di WeChat, il contenuto inizia con MiniProgramError.

  • Log del plugin mini program Mega: Stampati internamente dal plugin mini program Mega, il contenuto del log inizia con nomi di classe racchiusi tra parentesi quadre (ad esempio [MegaTracker]), attualmente principalmente emessi durante la cattura di eccezioni.

  • Esempio 1:

    Esempio di log del mini program 1

    La prima parte in caratteri blu sono log di sistema, che mostrano lo stato del routing e del caricamento della pagina.

    La seconda parte inizia con [xr-frame], mostrando informazioni sul ciclo di vita del framework di rendering.

    La terza parte è l'output personalizzato dallo sviluppatore.

  • Esempio 2:

    Esempio di log del mini program 2

    Appaiono log che iniziano con nomi di classe come [MegaTracker], [EasyARSession(xrframe)], ciò indica che il plugin Mega ha rilevato un'eccezione durante l'esecuzione.

  • Esempio 3:

    Esempio di log del mini program 3

    In MiniProgramError appare WAXRFrameRenderContext.js, indicando un problema con l'uso di interfacce correlate a xr-frame o la configurazione dei componenti.

  • Esempio 4:

    Esempio di log del mini program 4

    Questo log indica che si è verificata un'eccezione durante l'esecuzione del metodo onCloudLocalization nel plugin mega, causando un errore nel framework del mini program.

Formato dei log del plugin mini program Mega

I log esportati tramite il metodo dumpLog(signal) sono separati da | e contengono in sequenza:

  • Timestamp: Formato standard ISO 8601, indica l'ora di sistema al momento della stampa del log.
  • Livello di log: Include Info, Warning, Error, FatalError.
  • Nome della classe: Racchiuso tra parentesi quadre.
  • Dettagli: Descrizione specifica del log.
  • Chiamante: Solitamente Unspecified (indica un processo di esecuzione naturale); se l'eccezione è causata da un'interfaccia chiamata dall'utente, viene visualizzato User.
  • Fase di esecuzione: Visualizzato come Unspecified se non rilevante; altri campi indicano che l'eccezione si è verificata in una specifica fase di esecuzione.

Log del mini program

Come registrare e inoltrare i log

Introduzione alle soluzioni per ottenere ed esportare i log.

Esportazione dei log da vConsole

Fare clic sul pulsante di copia a destra nella posizione in cui viene stampato il log per esportare.

Interfaccia dump log del plugin mini program Mega

Controllare il processo di esportazione dei log chiamando l'interfaccia dumpLog(signal):

  • Passare true: Avvia la registrazione.
  • Passare false: Interrompe la registrazione e restituisce il percorso file temporaneo generato (tempFilePath).

Si consiglia generalmente di associare la logica di registrazione a un pulsante UI. All'inizio della registrazione, utilizzare il metodo wx.showToast() per segnalare l'avvio. Al termine della registrazione, utilizzare wx.shareFileMessage() per inoltrare il file registrato tramite chat WeChat.

/**
 * Gestisce la logica di registrazione della Session
 * @param signal true per iniziare la registrazione, false per terminare la registrazione e inoltrare
 */
dumpLog(signal: boolean): void {
  // Chiama l'interfaccia per ottenere il percorso
  const logPath = session.dumpLog(signal);
  // Quando signal è true, l'interfaccia restituisce una stringa vuota, indicando che la registrazione è in corso
  if (logPath.length == 0) {
      wx.showToast({
          title: 'Inizio registrazione log',
          icon: 'success',
          duration: 2000
      });
      return;
  }
  // Quando signal è false, elabora il percorso del file restituito
  wx.shareFileMessage({
      filePath: logPath,
      success() {
          wx.showToast({
              title: 'Inoltro log riuscito',
              icon: 'success',
              duration: 2000
          });
      },
      fail() {
          wx.showToast({
              title: 'Inoltro log fallito',
              icon: 'error',
              duration: 2000
          });
      }
  })
}

Questo esempio mostra come utilizzare il metodo session.dumpLog() nel componente xr-frame per registrare e inoltrare file di log, fornendo anche i relativi avvisi Toast.


Importante

Se si incontrano problemi relativi al posizionamento o al tracking con Mega, anziché eccezioni del programma, oltre ai log, fornire sempre il video dello schermo e il file di dump della session dell'epoca. I soli file di log possono fornire solo riferimenti indiretti, mentre i video e i dati di dump sono la base principale per l'analisi dei problemi.

Argomenti correlati