Metode yang berbeda merupakan indikasi prioritas. Saat Anda mendaftar, mereka beralih dari yang paling penting ke yang paling penting. Saya pikir bagaimana Anda memetakannya secara khusus ke debug log dalam kode Anda tergantung pada komponen atau aplikasi yang sedang Anda kerjakan, serta bagaimana Android memperlakukannya dengan berbagai rasa build (eng, userdebug, dan pengguna). Saya telah melakukan cukup banyak pekerjaan di daemon asli di Android, dan ini adalah bagaimana saya melakukannya. Ini mungkin tidak berlaku langsung ke aplikasi Anda, tetapi mungkin ada beberapa kesamaan. Jika penjelasan saya kedengarannya kabur, itu karena sebagian dari ini lebih merupakan seni daripada sains. Aturan dasar saya adalah seefisien mungkin, memastikan Anda dapat men-debug komponen Anda secara wajar tanpa mematikan kinerja sistem, dan selalu memeriksa kesalahan dan mencatatnya.
V - Cetakan negara pada interval yang berbeda, atau pada setiap peristiwa yang terjadi yang komponen proses saya. Kemungkinan juga cetakan yang sangat rinci dari muatan pesan / peristiwa yang diterima atau dikirim komponen saya.
D - Detail peristiwa kecil yang terjadi dalam komponen saya, serta muatan pesan / peristiwa yang diterima atau dikirim komponen saya.
I - Header pesan / peristiwa apa pun yang diterima atau dikirim komponen saya, serta setiap potongan penting dari muatan yang sangat penting untuk operasi komponen saya.
W - Apa pun yang terjadi yang tidak biasa atau mencurigakan, tetapi tidak selalu merupakan kesalahan.
E - Kesalahan, artinya hal-hal yang tidak seharusnya terjadi ketika sesuatu berfungsi sebagaimana mestinya.
Kesalahan terbesar yang saya lihat orang lakukan adalah mereka terlalu sering menggunakan hal-hal seperti V, D, dan saya, tetapi tidak pernah menggunakan W atau E. Jika kesalahan, menurut definisi, tidak seharusnya terjadi, atau seharusnya hanya terjadi sangat jarang, maka itu sangat murah bagi Anda untuk mencatat pesan ketika itu terjadi. Di sisi lain, jika setiap kali seseorang menekan kunci Anda melakukan Log.i (), Anda menyalahgunakan sumber logging yang dibagikan. Tentu saja, gunakan akal sehat dan hati-hati dengan log kesalahan untuk hal-hal di luar kendali Anda (seperti kesalahan jaringan), atau yang terkandung dalam loop ketat.
Mungkin buruk
Log.i("I am here");
Baik
Log.e("I shouldn't be here");
Dengan semua ini dalam pikiran, semakin dekat kode Anda ke "siap produksi", semakin Anda dapat membatasi level logging dasar untuk kode Anda (Anda perlu V dalam alpha, D dalam beta, I dalam produksi, atau mungkin bahkan W dalam produksi ). Anda harus menjalankan beberapa kasus penggunaan sederhana dan melihat log untuk memastikan bahwa Anda sebagian besar masih dapat memahami apa yang terjadi saat Anda menerapkan pemfilteran yang lebih ketat. Jika Anda menjalankan dengan filter di bawah ini, Anda masih dapat mengetahui apa yang sedang dilakukan aplikasi Anda, tetapi mungkin tidak mendapatkan semua detailnya.
logcat -v threadtime MyApp:I *:S
Verbose
logging. Itu yang Anda gunakan ketika Anda ingin menampilkan setiap operasi logis yang mungkin.