Pembangun meneliti log aplikasi pada monitor

Apabila aplikasi gagal di produksi, log sering menjadi petunjuk pertama. Tetapi log yang hanya menulis “Error happened” tidak membantu. Sebaliknya, merekod seluruh request termasuk maklumat peribadi boleh menimbulkan masalah keselamatan dan privasi. Log yang baik berada di tengah: cukup konteks untuk siasatan, cukup disiplin untuk tidak membocorkan data.

Gunakan logging berstruktur dengan nama medan yang konsisten. Catat operasi, ID korelasi, jenis kegagalan dan tempoh apabila relevan. Jangan masukkan kata laluan, token, isi borang peribadi atau nombor kad. Semak juga exception yang dilog supaya stack trace berguna kepada pasukan tetapi tidak dipaparkan terus kepada pengguna.

Bezakan tahap kepentingan

Maklumat rutin tidak semuanya perlu bertaraf error. Jika setiap request normal menghasilkan amaran, amaran sebenar tenggelam. Tetapkan tahap log mengikut persekitaran dan keperluan siasatan. Dokumentasi logging ASP.NET Core menerangkan kategori serta provider yang boleh digunakan.

Uji log dengan satu senario gagal yang boleh diulang, misalnya API luar memulangkan timeout. Bolehkah seorang rakan mencari request itu melalui ID dan memahami langkah yang gagal tanpa melihat data peribadi pengguna? Jika tidak, ubah medan log. Soalan praktikal ini lebih berguna daripada menambah mesej log secara rawak.

Selepas satu insiden, tanya sama ada log sedia ada membantu mencari punca. Jika tidak, tambah satu atau dua medan yang benar-benar diperlukan, bukan menambah semua data. Log ialah alat untuk menjawab soalan ketika sistem bermasalah; bentuknya patut diuji ketika semuanya masih tenang.