Análise de log no mini programa wechat
Este artigo apresenta o fluxo completo para obtenção e análise de logs no ambiente AR do mini programa wechat.
Usando o vConsole do mini programa wechat
Como o AR do mini programa wechat só pode ser executado e depurado em dispositivos reais, usar o vConsole para observar a saída em tempo real é fundamental para depuração. O uso básico pode ser consultado na documentação oficial do mini programa wechat.
Como ativar o vConsole na depuração em dispositivo real
Na interface AR, clique no primeiro botão no canto superior direito > clique em depuração de desenvolvimento na barra de ferramentas inferior > clique em abrir depuração > na janela pop-up, clique em confirmar para reiniciar o mini programa.


Posteriormente, o botão flutuante vConsole será exibido continuamente na interface.

Clique no botão vConsole para visualizar todos os logs atuais em execução:

Como distinguir a origem do log
As origens dos logs geralmente podem ser divididas em:
Logs do sistema do mini programa wechat: Normalmente acionados durante mudanças de rota de página ou ciclo de vida de componentes, exibidos em azul no vConsole.
Logs do xr-frame: Impressos pela estrutura de renderização oficial, começam com
[xr-frame].Logs personalizados pelo usuário: Impressos pelo desenvolvedor através de interfaces padrão como
console.log().Logs de erro da estrutura do mini programa: Lançados pela base do WeChat, começam com
MiniProgramError.Logs do plug-in Mega mini programa: Impressos internamente pelo plug-in Mega mini programa, começam com nomes de classe entre colchetes (ex: [MegaTracker]), atualmente principalmente saída ao capturar exceções.
Exemplo 1:

A primeira parte em azul são logs do sistema, mostrando o estado de rota e carregamento da página.
A segunda parte começa com
[xr-frame], mostrando informações do ciclo de vida da estrutura de renderização.A terceira parte é saída personalizada do desenvolvedor.
Exemplo 2:

Aparecem logs começando com
[MegaTracker],[EasyARSession(xrframe)], etc., indicando que o plug-in Mega capturou uma exceção de execução.Exemplo 3:

Em
MiniProgramErrorapareceWAXRFrameRenderContext.js, indicando problema com interface relacionada ao xr-frame ou configuração de componente.Exemplo 4:

Este log indica que o método
onCloudLocalizationno plug-in mega encontrou uma exceção durante a execução, causando erro na estrutura do mini programa.
Formato de log do plug-in Mega mini programa
Logs exportados pelo método dumpLog(signal) usam | como separador, com conteúdo sequencial de:
- Timestamp: Formato padrão
ISO 8601, indicando o horário do sistema ao imprimir o log. - Nível de log: Inclui
Info,Warning,Error,FatalError. - Nome da classe: Entre colchetes.
- Detalhes: Descrição específica do log.
- Chamador: Normalmente
Unspecified(indica processo de execução natural); se exceção causada por chamada de interface do usuário, mostraUser. - Fase de execução:
Unspecifiedindica irrelevante; outros valores indicam exceção em fase específica.

Como registrar e encaminhar logs
Introduz esquemas para obtenção e exportação de logs.
Exportar logs do vConsole
Clique no botão de cópia à direita da posição de impressão do log para exportar.
Interface dump log do plug-in Mega mini programa
Controle o processo de exportação de logs chamando a interface dumpLog(signal):
- Passar
true: Inicia registro. - Passar
false: Para registro e retorna o caminho temporário do arquivo (tempFilePath).
Geralmente recomenda-se vincular a lógica de registro a um botão de UI. Ao iniciar registro, use wx.showToast() para notificar início. Ao terminar, use wx.shareFileMessage() para encaminhar o arquivo via chat do WeChat.
/**
* Processa lógica de registro da Session
* @param signal true para iniciar registro, false para parar e encaminhar
*/
dumpLog(signal: boolean): void {
// Chama interface para obter caminho
const logPath = session.dumpLog(signal);
// Quando signal é true, interface retorna string vazia, indicando registro em andamento
if (logPath.length == 0) {
wx.showToast({
title: 'Iniciar registro de log',
icon: 'success',
duration: 2000
});
return;
}
// Quando signal é false, processa caminho de arquivo retornado
wx.shareFileMessage({
filePath: logPath,
success() {
wx.showToast({
title: 'Log encaminhado com sucesso',
icon: 'success',
duration: 2000
});
},
fail() {
wx.showToast({
title: 'Falha ao encaminhar log',
icon: 'error',
duration: 2000
});
}
})
}
Este exemplo demonstra como usar o método
session.dumpLog()no componente xr-frame para registrar e encaminhar arquivos de log, com notificações Toast correspondentes.
Importante
Se encontrar problemas de localização ou rastreamento com o Mega, em vez de exceções de programa, além dos logs, forneça obrigatoriamente o arquivo de gravação de tela e o arquivo de dump da session do momento. Arquivos de log puros fornecem apenas referência indireta; gravações de tela e dados de dump são a base central para investigação de problemas.