Análisis de registros en mini programas de WeChat
Este artículo presenta el flujo completo para obtener y analizar registros en el entorno AR de mini programas de WeChat.
Uso de vConsole en mini programas de WeChat
Dado que el AR de mini programas de WeChat solo puede ejecutarse y depurarse en dispositivos físicos, usar vConsole para observar la salida en tiempo real es crucial para la depuración. El uso básico se puede consultar en la documentación oficial de mini programas de WeChat.
Cómo habilitar vConsole en depuración en dispositivo físico
En la interfaz AR, haz clic en el primer botón en la esquina superior derecha > haz clic en Depuración de desarrollo en la barra de herramientas inferior > haz clic en Abrir depuración > en la ventana emergente, haz clic en Aceptar para reiniciar el mini programa.


Posteriormente, se mostrará continuamente el botón flotante vConsole en la interfaz.

Haz clic en el botón vConsole para ver todos los registros actuales:

Cómo distinguir el origen de los registros
El origen de los registros generalmente se puede clasificar en:
Registros del sistema del mini programa de WeChat: Se activan generalmente durante cambios en la ruta de la página o en el ciclo de vida de componentes, mostrados en azul en vConsole.
Registros de xr-frame: Impresos por el marco de renderizado oficial, comienzan con
[xr-frame].Registros personalizados por el usuario: Impresos por el desarrollador mediante interfaces estándar como
console.log().Registros de error del marco del mini programa: Lanzados por la capa subyacente de WeChat, comienzan con
MiniProgramError.Registros del plugin Mega para mini programas: Impresos internamente por el plugin Mega para mini programas, comienzan con nombres de clase entre corchetes (ej. [MegaTracker]), actualmente se emiten principalmente al capturar excepciones.
Ejemplo 1:

La primera parte en azul son registros del sistema, mostrando la ruta de la página y estado de carga.
La segunda parte comienza con
[xr-frame], mostrando información del ciclo de vida del marco de renderizado.La tercera parte es salida personalizada del desarrollador.
Ejemplo 2:

Aparecen registros que comienzan con nombres de clase como
[MegaTracker],[EasyARSession(xrframe)], lo que indica que el plugin Mega capturó una excepción en tiempo de ejecución.Ejemplo 3:

En
MiniProgramErrorapareceWAXRFrameRenderContext.js, indicando problemas con interfaces relacionadas con xr-frame o configuración de componentes.Ejemplo 4:

Este registro indica que el método
onCloudLocalizationen el plugin mega generó una excepción durante su ejecución, causando un error en el marco del mini programa.
Formato de registros del plugin Mega para mini programas
Los registros exportados por el método dumpLog(signal) están separados por |, con el siguiente contenido en orden:
- Marca de tiempo: Formato estándar
ISO 8601, indica la hora del sistema al imprimir el registro. - Nivel de registro: Incluye
Info,Warning,Error,FatalError. - Nombre de clase: Entre corchetes.
- Detalles: Descripción específica del registro.
- Invocador: Generalmente
Unspecified(indica proceso de ejecución natural); si es una excepción causada por la llamada del usuario a una interfaz, muestraUser. - Fase de ejecución: Muestra
Unspecifiedsi no es relevante; otros campos indican que la excepción ocurrió en una fase específica.

Cómo registrar y reenviar registros
Presenta métodos para obtener y exportar registros.
Exportar registros desde vConsole
Haz clic en el botón de copia a la derecha de la posición del registro para exportar.
Interfaz dump log del plugin Mega para mini programas
Controla el proceso de exportación mediante la interfaz dumpLog(signal):
- Pasar
true: Inicia el registro. - Pasar
false: Detiene el registro y devuelve la ruta temporal del archivo (tempFilePath) generado.
Se recomienda vincular la lógica de registro con un botón de UI. Al iniciar el registro, mostrar un mensaje mediante wx.showToast(). Al finalizar, usar wx.shareFileMessage() para reenviar el archivo mediante chat de WeChat.
/**
* Maneja la lógica de registro de Session
* @param signal true para iniciar registro, false para detener y reenviar
*/
dumpLog(signal: boolean): void {
// Llama a la interfaz para obtener la ruta
const logPath = session.dumpLog(signal);
// Cuando signal es true, la interfaz devuelve cadena vacía, indicando que se está registrando
if (logPath.length == 0) {
wx.showToast({
title: 'Iniciando registro de registros',
icon: 'success',
duration: 2000
});
return;
}
// Cuando signal es false, procesa la ruta de archivo devuelta
wx.shareFileMessage({
filePath: logPath,
success() {
wx.showToast({
title: 'Reenvío de registros exitoso',
icon: 'success',
duration: 2000
});
},
fail() {
wx.showToast({
title: 'Error en reenvío de registros',
icon: 'error',
duration: 2000
});
}
})
}
Este ejemplo demuestra cómo usar el método
session.dumpLog()en componentes xr-frame para registrar y reenviar archivos de registro, con mensajes Toast correspondientes.
Importante
Si encuentras problemas de localización o seguimiento con Mega en lugar de excepciones de programa, además de los registros, proporciona siempre la grabación de pantalla y el archivo session dump de ese momento. Los archivos de registro puros solo ofrecen referencia indirecta; la grabación y los datos dump son la base principal para diagnosticar problemas.