Analisis log pada WeChat Mini Program
Dokumen ini memperkenalkan alur lengkap untuk memperoleh dan menganalisis log dalam lingkungan AR WeChat Mini Program.
Menggunakan vConsole WeChat Mini Program
Karena AR WeChat Mini Program hanya dapat dijalankan dan di-debug pada perangkat fisik, menggunakan vConsole untuk mengamati output real-time adalah kunci debugging. Penggunaan dasar dapat merujuk ke dokumentasi resmi WeChat Mini Program.
Cara mengaktifkan vConsole saat debugging perangkat fisik
Pada antarmuka AR, klik tombol pertama di pojok kanan atas > klik Development debugging pada toolbar bawah > klik Open debugging > klik OK pada jendela pop-up untuk memulai ulang Mini Program.


Setelah itu, tombol mengambang vConsole akan terus ditampilkan pada antarmuka.

Klik tombol vConsole untuk melihat semua log yang sedang berjalan:

Cara membedakan sumber log
Sumber log umumnya dapat dibagi menjadi:
Log sistem WeChat Mini Program: biasanya dipicu saat routing halaman berubah atau lifecycle komponen berubah, dan ditampilkan dengan teks biru di vConsole.
Log xr-frame: dicetak oleh framework rendering resmi, dan isi log diawali dengan
[xr-frame].Log kustom pengguna: dicetak oleh developer melalui antarmuka standar seperti
console.log().Log error framework Mini Program: dilempar oleh lapisan dasar WeChat, dan isinya diawali dengan
MiniProgramError.Log plugin Mega Mini Program: dicetak oleh bagian internal plugin Mega Mini Program, dan isi log diawali dengan nama class dalam tanda kurung siku, seperti [MegaTracker]. Saat ini terutama dikeluarkan saat menangkap exception.
Contoh 1:

Bagian pertama berwarna biru adalah log sistem, yang menampilkan routing halaman dan status loading.
Bagian kedua diawali dengan
[xr-frame], yang menampilkan informasi lifecycle framework rendering.Bagian ketiga adalah output kustom developer.
Contoh 2:

Muncul log yang diawali dengan nama class seperti
[MegaTracker]dan[EasyARSession(xrframe)], yang berarti plugin Mega menangkap exception runtime.Contoh 3:

Teks
WAXRFrameRenderContext.jsmuncul dalamMiniProgramError, yang menunjukkan ada masalah pada penggunaan antarmuka atau konfigurasi komponen terkait xr-frame.Contoh 4:

Log ini menunjukkan bahwa exception terjadi saat metode
onCloudLocalizationdalam plugin mega berjalan, sehingga framework Mini Program melempar error.
Format log plugin Mega Mini Program
Log yang diekspor oleh metode dumpLog(signal) dipisahkan dengan |, dan isinya berturut-turut adalah:
- Timestamp: format standar
ISO 8601, menunjukkan waktu sistem saat log dicetak. - Level log: termasuk
Info,Warning,Error,FatalError. - Nama class: dibungkus dengan tanda kurung siku.
- Detail: deskripsi log yang spesifik.
- Caller: biasanya
Unspecified, yang menunjukkan proses berjalan alami; jika exception disebabkan oleh pemanggilan antarmuka oleh pengguna, akan ditampilkan sebagaiUser. - Tahap runtime: ditampilkan sebagai
Unspecifiedberarti tidak perlu diperhatikan; bidang lain berarti exception terjadi pada tahap runtime tertentu.

Cara merekam dan meneruskan log
Bagian ini memperkenalkan solusi memperoleh dan mengekspor log.
Mengekspor log vConsole
Klik tombol copy di sisi kanan lokasi log dicetak untuk mengekspor.
Antarmuka dump log plugin Mega Mini Program
Kontrol alur ekspor log dengan memanggil antarmuka dumpLog(signal):
- Meneruskan
true: mulai merekam. - Meneruskan
false: berhenti merekam dan mengembalikan file temporary path (tempFilePath) yang dihasilkan.
Biasanya disarankan mengikat logika perekaman dengan tombol UI. Saat mulai merekam, gunakan metode wx.showToast() untuk memberi tahu bahwa perekaman dimulai. Saat perekaman selesai, gunakan metode wx.shareFileMessage() untuk meneruskan file rekaman melalui chat WeChat.
/**
* menangani logika perekaman Session
* @param signal true untuk mulai merekam, false untuk berhenti merekam dan meneruskan
*/
dumpLog(signal: boolean): void {
// panggil antarmuka untuk mendapatkan path
const logPath = session.dumpLog(signal);
// saat signal bernilai true, antarmuka mengembalikan string kosong yang menunjukkan perekaman sedang berlangsung
if (logPath.length == 0) {
wx.showToast({
title: '开始记录日志',
icon: 'success',
duration: 2000
});
return;
}
// saat signal bernilai false, proses path file yang dikembalikan
wx.shareFileMessage({
filePath: logPath,
success() {
wx.showToast({
title: '日志转发成功',
icon: 'success',
duration: 2000
});
},
fail() {
wx.showToast({
title: '日志转发失败',
icon: 'error',
duration: 2000
});
}
})
}
Contoh ini menunjukkan cara menggunakan metode
session.dumpLog()dalam komponen xr-frame untuk merekam dan meneruskan file log, serta memberikan prompt Toast yang sesuai.
Penting
Jika Anda mengalami masalah terkait localization atau tracking saat menggunakan Mega, bukan exception program, selain log, pastikan untuk menyediakan file screen recording dan file session dump saat itu. File log murni hanya dapat memberikan referensi sampingan; screen recording dan data dump adalah dasar inti untuk troubleshooting.