Android günlüklerini (logcat, ANR, dökümler) nerede bulacağınız ve nasıl kaydedeceğiniz

Kerem Aydın·11 Temmuz 2026·⏱3 dk

Kısa cevap: Root erişimi olmadan ADB kullanın — günlükleri kaydetmek için adb logcat ve adb bugreport (veya adb logcat > dosya) komutlarını kullanın; root erişimi ile /data, /data/anr, /sys/fs/pstore ve /proc/kmsg dizinlerini kopyalayabilirsiniz. Aşağıda hızlı teşhis için adım adım komutlar ve ipuçları yer almaktadır.

Hızlı yöntem: Root olmadan günlükleri çıkarma (ADB üzerinden)

  1. Hazırlık:
    • "Geliştirici seçenekleri"ni ve "USB hata ayıklama"sını etkinleştirin.
    • Bilgisayarınıza platform-tools (ADB) yükleyin.
  2. Bağlantıyı kontrol etme:
    • adb devices
  3. Mevcut günlükleri bir dosyaya kaydetme:
    • adb logcat -d -v time > logs.txt (-d bayrağı arabelleği boşaltır ve yazmayı sonlandırır)
  4. Akış günlüklerini kaydetme:
    • adb logcat -v time > live_logs.txt Durdurmak için Ctrl+C tuşlarına basın.
  5. Seviye/etiket/uygulamaya göre filtreleme:
    • Tüm hatalar: adb logcat *:E -v time > errors.txt
    • Etikete göre: adb logcat MyTag:V *:S > tag_logs.txt
    • PID'e göre (Linux/macOS'ta): adb logcat --pid=$(adb shell pidof com.example.app) > app.txt
    • Bilgisayarda ek olarak grep kullanabilirsiniz: adb logcat | grep "com.example.app" > app.txt
  6. Tam rapor (bugreport):
    • adb bugreport bugreport.zip Arşivde günlükler, dumpsys, tracestate bulunur — geliştiriciye göndermek için uygundur.

Yalnızca arabellek anlık görüntüsüne ihtiyacınız varsa adb logcat -d kullanın; uzun süreli kayıt için akışı kullanın (boyutu kontrol etmeyi unutmayın).

Root'lu cihazda günlükleri çıkarma

Root erişimi, normal ADB üzerinden erişilemeyen dosyalara erişim sağlar:

  • Çökme dökümleri ve ANR: /data/anr/, /data/tombstones/
  • Sistem dökümleri: /sys/fs/pstore/, /proc/kmsg, /d/ (firmware'a bağlıdır) Komutlar:
  • adb root
  • adb pull /data/anr/traces.txt ./traces.txt
  • adb pull /sys/fs/pstore/ ./pstore_dump Kolaylık sağlayan mobil uygulamalar: MatLog, CatLog (F‑Droid) — root ile daha hızlı çalışır ve ZIP/TXT olarak dışa aktarabilir.

Sistem dosyalarını kopyalamak ve SELinux politikalarını değiştirmek tehlikelidir. Sonuçlarını anlamadan /system ve /data içindeki izinleri ve içeriği değiştirmeyin.

Günlükleri kaydetme, filtreleme ve temel analiz

  • Biçimlendirme: Kesin zaman damgaları için -v time kullanın.
  • Eski günlükleri silme: adb logcat -c
  • Otomasyon (Linux/macOS):
    • adb logcat -c; adb logcat -d > $(date +%Y%m%d)_logs.txt
  • Dosyada arama: "FATAL EXCEPTION", "ANR", "Exception" ve uygulamanızın PID'ini arayın.
  • Araçlar: Günlükleri VS Code/Notepad++ ile açın — satır vurgulama ve filtreleri etkinleştirin.
  • Geliştiriciye göndermeden önce: Yalnızca gerekli bölümleri bırakın ve kişisel verileri (telefon numaraları, token'lar) silin.

Uzun vadeli teşhis için derlemeye stacktrace, bugreport ve uygulama yapılandırma dosyasını ekleyin (ek bağlamlar gerekiyorsa).

Sık yapılan hatalar

  • Cihaz adb devices listesinde görünmüyor — USB hata ayıklamayı etkinleştirin ve telefonda RSA anahtarını onaylayın.
  • Günlükler çok büyük — etiket/seviye/pid'e göre filtreler uygulayın ve dosyaları döndürün.
  • Gerekli dosyalara (örneğin /data/anr) erişilemiyor — root olmadan bunlara erişilemez; kullanıcıdan bugreport isteyin.
  • Logcat eski kayıtları hızla üzerine yazar — uzun testten önce arabelleği temizleyin ve dosyaya yazmaya başlayın.

SSS

  • Telefondan bilgisayar olmadan günlükler nasıl alınır?
    Root olmayan cihazda logcat yakalama uygulaması yüklenebilir (bazıları izin veya root gerektirir). Daha güvenilir yol — OTG+klavye/bilgisayar üzerinden ADB'ye bağlanmaktır.
  • Hangisi daha önemli: logcat mi yoksa bugreport mu?
    Logcat — hızlı hata akışı; bugreport — ek verilerle (dumpsys, izlemeler) kapsamlı arşiv. Ciddi hatalar için bugreport talep edin.
  • Zamana göre filtreleme yapılabilir mi?
    Logcat'te doğrudan zaman filtresi yoktur, bu nedenle zaman damgalı dosya kaydedin (-v time) ve düzenleyicide zaman damgalarına göre arama yapın.

Gerekirse, Windows için komut seti veya günlüklerin otomatik toplanması ve arşive yüklenmesi için bir betik hazırlayabilirim.