Analisis log di mini program WeChat
Artikel ini memperkenalkan alur lengkap untuk memperoleh dan menganalisis log di lingkungan AR mini program WeChat.
Menggunakan vConsole mini program WeChat
Karena mini program AR WeChat hanya dapat berjalan dan di-debug di perangkat fisik, menggunakan vConsole untuk mengamati output real-time adalah kunci debugging. Penggunaan dasar dapat merujuk dokumentasi resmi mini program WeChat.
Cara mengaktifkan vConsole dalam debugging perangkat fisik
Di antarmuka AR, ketuk tombol pertama di kanan atas > ketuk debugging pengembangan di bilah alat bawah > ketuk buka debugging > di jendela pop-up, ketuk konfirmasi untuk memulai ulang mini program.


Setelahnya, tombol vConsole akan terus ditampilkan di antarmuka.

Ketuk tombol vConsole untuk melihat semua log yang sedang berjalan:

Cara membedakan sumber log
Sumber log umumnya dapat dibagi menjadi:
Log sistem mini program WeChat: Biasanya dipicu saat perutean halaman atau perubahan siklus hidup komponen, ditampilkan dengan huruf biru di vConsole.
Log xr-frame: Dicetak oleh framework rendering resmi, log diawali dengan
[xr-frame].Log kustom pengguna: Dicetak oleh pengembang melalui antarmuka standar seperti
console.log().Log kesalahan framework mini program: Dikeluarkan oleh lapisan dasar WeChat, konten dimulai dengan
MiniProgramError.Log plugin mini program Mega: Dicetak secara internal oleh plugin mini program Mega, konten log diawali dengan nama kelas dalam tanda kurung siku (seperti [MegaTracker]), saat ini terutama output saat menangkap pengecualian.
Contoh 1:

Bagian pertama huruf biru adalah log sistem, menunjukkan status rute dan pemuatan halaman.
Bagian kedua dimulai dengan
[xr-frame], menampilkan informasi siklus hidup framework rendering.Bagian ketiga adalah output kustom pengembang.
Contoh 2:

Muncul log yang diawali dengan nama kelas seperti
[MegaTracker],[EasyARSession(xrframe)], ini menunjukkan plugin Mega menangkap pengecualian saat berjalan.Contoh 3:

Dalam
MiniProgramErrormuncul tulisanWAXRFrameRenderContext.js, menunjukkan masalah pada antarmuka atau konfigurasi komponen terkait xr-frame.Contoh 4:

Log ini menunjukkan metode
onCloudLocalizationdalam plugin mega mengalami pengecualian saat berjalan yang menyebabkan framework mini program melempar kesalahan.
Format log plugin mini program Mega
Log yang diekspor oleh metode dumpLog(signal) dipisahkan dengan |, kontennya secara berurutan adalah:
- Timestamp: Format standar
ISO 8601, menunjukkan waktu sistem saat log dicetak. - Tingkat log: Termasuk
Info,Warning,Error,FatalError. - Nama kelas: Dikurung dalam tanda kurung siku.
- Detail informasi: Deskripsi log spesifik.
- Pemanggil: Biasanya
Unspecified(menunjukkan proses berjalan alami); jika pengecualian disebabkan oleh panggilan antarmuka pengguna, ditampilkan sebagaiUser. - Tahap berjalan: Ditampilkan sebagai
Unspecifiedberarti tidak perlu diperhatikan; menampilkan bidang lain menunjukkan pengecualian terjadi pada tahap berjalan tertentu.

Cara merekam dan meneruskan log
Memperkenalkan skema untuk memperoleh dan mengekspor log.
Mengekspor log melalui vConsole
Ketuk tombol salin di sebelah kanan posisi pencetakan log untuk mengekspor.
Antarmuka dump log plugin mini program Mega
Dengan memanggil antarmuka dumpLog(signal) untuk mengontrol proses ekspor log:
- Masukkan
true: Mulai merekam. - Masukkan
false: Berhenti merekam, dan mengembalikan jalur file sementara yang dihasilkan (tempFilePath).
Biasanya disarankan untuk mengikat logika perekaman dengan tombol UI, saat mulai merekam berikan petunjuk melalui metode wx.showToast(), saat perekaman berakhir gunakan metode wx.shareFileMessage() untuk meneruskan file rekaman melalui obrolan 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 jalur
const logPath = session.dumpLog(signal);
// Saat signal true, antarmuka mengembalikan string kosong, menunjukkan sedang merekam
if (logPath.length == 0) {
wx.showToast({
title: 'Mulai merekam log',
icon: 'success',
duration: 2000
});
return;
}
// Saat signal false, proses jalur file yang dikembalikan
wx.shareFileMessage({
filePath: logPath,
success() {
wx.showToast({
title: 'Penerusan log berhasil',
icon: 'success',
duration: 2000
});
},
fail() {
wx.showToast({
title: 'Penerusan log gagal',
icon: 'error',
duration: 2000
});
}
})
}
Contoh ini mendemonstrasikan cara menggunakan metode
session.dumpLog()dalam komponen xr-frame untuk merekam dan meneruskan file log, serta memberikan petunjuk Toast yang sesuai.
Penting
Jika mengalami masalah terkait pelokalan atau pelacakan saat menggunakan Mega, bukan pengecualian program, selain log, harap berikan file rekaman layar dan file session dump saat itu. File log murni hanya dapat memberikan referensi tidak langsung, rekaman layar dan data dump adalah dasar utama untuk menyelidiki masalah.