Farklı yöntemler öncelik göstergeleridir. Onları listeledikçe, en önemlisinden en önemlisine gidiyorlar. Kodunuzdaki günlükleri hata ayıklamak için onları nasıl eşlediğinizi, çalıştığınız bileşene veya uygulamaya ve Android'in farklı yapı lezzetlerine (eng, userdebug ve kullanıcı) nasıl davrandığına bağlı olduğunu düşünüyorum. Android'deki yerel armağanlarda oldukça fazla iş yaptım ve işte böyle yapıyorum. Doğrudan uygulamanız için geçerli olmayabilir, ancak bazı ortak zeminler olabilir. Açıklamam belirsiz görünüyorsa, bunun nedeni bir bilimden ziyade bir sanattır. Temel kuralım, olabildiğince verimli olmak, sistemin performansını öldürmeden bileşeninizde makul bir şekilde hata ayıklayabilmenizi sağlamak ve her zaman hataları kontrol etmek ve günlüğe kaydetmek.
V - Farklı aralıklarla veya bileşenimin işlediği olayların çıktıları. Ayrıca, bileşenimin aldığı veya gönderdiği mesajların / olayların yüklerinin çok ayrıntılı çıktıları.
D - Bileşenimde gerçekleşen küçük etkinliklerin yanı sıra bileşenimin aldığı veya gönderdiği iletilerin / etkinliklerin yükleri.
I - Bileşenimin aldığı veya gönderdiği tüm mesajların / etkinliklerin ve ayrıca yükümün bileşenimin çalışması için kritik olan önemli parçalarının başlığı.
W - Olağandışı veya şüpheli olan, ancak mutlaka bir hata olmayan her şey.
E - Hatalar, yani işler olması gerektiği gibi çalışırken gerçekleşmesi gerekmeyen şeyler.
İnsanların yaptığı en büyük hata, V, D ve I gibi şeyleri gereğinden fazla kullanmaları, ancak asla W veya E kullanmamalarıdır. bir mesajı oluştuğunda günlüğe kaydetmeniz ucuzdur. Öte yandan, birisi bir tuşa her bastığında bir Log.i () işlemi yaparsanız, paylaşılan günlük kaynağını kötüye kullanırsınız. Elbette sağduyunuzu kullanın ve kontrolünüz dışındaki (ağ hataları gibi) veya sıkı döngülerde bulunanlar için hata günlüklerine dikkat edin.
Belki Kötü
Log.i("I am here");
İyi
Log.e("I shouldn't be here");
Tüm bunları göz önünde bulundurarak, kodunuz "üretime hazır" durumuna ne kadar yaklaşırsa, kodunuz için temel günlük kaydı düzeyini o kadar kısıtlayabilirsiniz (alfada V, beta'da D, üretimde ve hatta üretimde W olması gerekir) ). Bazı basit kullanım durumlarını gözden geçirmeli ve daha kısıtlayıcı filtreleme uygularken neler olduğunu çoğunlukla anlayabilmeniz için günlükleri görüntülemelisiniz. Aşağıdaki filtreyle çalışırsanız, uygulamanızın ne yaptığını söyleyebilmeniz gerekir, ancak tüm ayrıntıları alamayabilirsiniz.
logcat -v threadtime MyApp:I *:S
Verbose
günlük kaydı içindir. Olası her mantıksal işlemi çıkarmak istediğinizde kullandığınız şeydir.