Logcat Kullanımı
LogCat, Android Developer Tools ile birlikte gelen ve uygulamaların log çıktılarını okuyup incelemenize yarayan basit bir geliştirici aracıdır. Uygulamanızın kodunda, geliştirme aşamasında akışı takip etmek için sadece sizin görebileceğiniz notlar bırakabilirsiniz. İşte bu notlara, log denir.
Eclipse’te LogCat’e ulaşabilmek için LogCat isimli view’ı etkinleştirmiş olmalısınız. Bir uygulamayı derleyip çalıştırmak istediğinizde eğer LogCat bölmesi açık değilse Eclipse size açma önerisinde bulunacaktır. Elle açıp kapatmak için Window > Show View > Other menüsüne girip açılan pencereden LogCat’i seçmelisiniz:
Bu işlemin ardından LogCat bölmesi Eclipse’in alt tarafına yerleşecektir.
Basit log işlemi
Bir Android uygulamasında, hata takibini kolaylaştırmak için notlar/loglar bırakırken basitçe
Log.i("Bilgi", "Internet baglantisi kuruldu");
ya da
Log.w("Dikkat", "Parola uc kez yanlis girildi");
gibi metotlar kullanılır. Log.i’nin (info) bilgi, Log.w’nin (warning) tehlike mesajı gereken durumlarda kullanılması, LogCat bölmesinde fark edilmelerini kolaylaştırır. Bunun dışında da log türleri vardır:
- (Log.v) verbose: gerekli gereksiz tüm bilgiler
- (Log.d) debug: hata ayıklamaya dönük, metodun ya da sınıfın gidişatına ilişkin bilgiler
- (Log.e) error: hata oluşan yerlere ilişkin bilgiler
Şimdi uygulamamızın içinde bir bölme işlemi yapalım ve tüm değerleri biz verelim. Bir sayıyı 0’a bölmeye çalışacağımız zaman hataya sebep olacağımız için bunu da log mesajlarından takip edelim:
//Dosya Adı: MainActivity.java @Override public void onCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Log.i("LogDeneme", "Kullanıcı arayüzü oluşturuldu."); try { int c = 7 / 0; } catch (Exception hata) { Log.e("LogDeneme", "Ciddi bir hata oluştu: " + hata.getLocalizedMessage()); } }
Bu uygulamayı çalıştırdığımızda LogCat bölmesi şöyle görünecektir:
Gördüğünüz gibi farklı seviyelerdeki log mesajları farklı renklendirildi. Bilgi içeren log mesajları yeşil, hata içerenler kırmızı renkte yazı tipiyle ekrana basıldı.
Soldaki Saved Filters bölümüyle log mesajlarını dinlemek istediğimiz uygulamaya veya etiketlere has süzgeçler oluşturup, sadece o kurallara uyan mesajların görüntülenmesini sağlayabilirsiniz. Uygulamanın çalıştığı cihaza ilişkin koşulsuz tüm mesajları görebilmek için “All messages” öğesine tıklayabilirsiniz.
Sağdaki bölmedeki ayrıntılara değinelim:
- Level: Log mesajlarının seviyesini içeriyor. Info, Error, Debug ve Warning seviyesinde farklı mesajlar farklı renklerde gösteriliyor.
- Time: Verilen log mesajının tam olarak ne zaman verildiğini gösteren sütun.
- PID: Çalışan uygulamanın process ID değeri. Bu ID değeri Android’te uygulamaya has bir değerdir.
- TID: Uygulamaya bağlı çalışan thread ID değeri. Bazen bir uygulamanın içinde birden fazla thread (iş parçacığı) ile işlem yapılır ve farklı thread’lere ait log mesajları bu sütuna bakarak anlaşılır.
- Application: Uygulamanın paket adının yazılı olduğu kısım. Birden çok uygulamaya ait log mesajlarının incelendiği durumlarda kullanışlı olur.
- Tag: Geliştirici kişinin hata mesajına verdiği etiketin yer aldığı sütun. Verdiğiniz log mesajını sınıflandırmak için etiketleri kullanabilirsiniz.
- Text: Log mesajının metin kısmı.
Süzgeçler
Eclipse, com.logcatdeneme paket adına sahip uygulamamız için kendisi bir süzgeç oluşturdu. + ve – düğmelerinin yanındaki düzenleme düğmesine bastığımızda süzgeçle ilgili ayrıntıları görebiliyoruz:
Bu süzgece göre com.logcatdeneme uygulaması için verbose seviyesinde tüm log mesajları LogCat bölmesinde görülebilir.
Kullanışlı düğmeler
LogCat bölmesinde log mesajlarıyla ilgili birkaç yardımcı düğme vardır:
- Export: Bölmede gördüğünüz log mesajlarınızı bir dosyaya kaydetmenize yarar.
- Clear Log: O an ekrana basılmış tüm log mesajlarını temizler.
- Scrool Lock: Varsayılan olarak yeni log mesajları geldikçe gösterilir. Kaydırma kilidini kaldırarak istediğiniz mesaja, uygulama çalışırken ve log mesajları yağmaya devam ederken daha kolay odaklanırsınız.
Bazen de ekrana basılan log mesajlarını hızlıca bir şarta göre süzmek istersiniz:
Hızlıca paket adına, etikete veya process id’ye göre sorgular yazıp çıktısını görebilirsiniz.
LogCat, Eclipse ile Android uygulamaları geliştirirken sıkça kullandığınız bölümlerden bir tanesi olacaktır. Bir uygulamanın çalıştırılması sırasında oluşan hataları izlemek, gerektiğinde onları paylaşmak için kullanılan yararlı bir bileşendir.
Merhaba
Bir andorid uygulamanın loglarını nasıl okuyabilirim ?