Jendela Logcat di Android Studio membantu Anda men-debug aplikasi dengan
menampilkan log dari perangkat secara real time—misalnya, pesan yang Anda
tambahkan ke aplikasi dengan class Log
, pesan
dari layanan yang berjalan di Android, atau pesan sistem, seperti saat pembersihan sampah
memori dilakukan. Saat aplikasi menampilkan pengecualian, Logcat akan menampilkan pesan
yang diikuti dengan stack trace terkait yang berisi link ke baris kode.
Memulai jendela Logcat
Untuk melihat pesan log aplikasi Anda, lakukan hal berikut.
- Di Android Studio, bangun dan jalankan aplikasi Anda di emulator atau perangkat fisik.
- Dari panel menu, pilih View > Tool Windows > Logcat.
Secara default, Logcat akan men-scroll ke bagian akhir. Mengklik tampilan Logcat atau men-scroll ke atas menggunakan roda mouse akan menonaktifkan fitur ini. Untuk mengaktifkannya kembali, klik Scroll to the End dari toolbar. Anda juga dapat menggunakan toolbar untuk menghapus, menjeda, atau memulai ulang Logcat.
Gambar 1. Logcat memformat log agar informasi yang berguna lebih mudah dipindai, seperti tag dan pesan, serta mengidentifikasi berbagai jenis log, seperti peringatan dan error.
Cara membaca log
Setiap log memiliki tanggal, stempel waktu, ID proses dan thread, tag, nama paket,
prioritas, dan pesan yang terkait dengannya. Tag yang berbeda memiliki warna unik
yang membantu mengidentifikasi jenis log. Setiap entri log memiliki prioritas FATAL
,
ERROR
, WARNING
, INFO
, DEBUG
, atau VERBOSE
.
Misalnya, pesan log berikut memiliki prioritas DEBUG
dan tag
ProfileInstaller
:
2022-12-29 04:00:18.823 30249-30321 ProfileInstaller com.google.samples.apps.sunflower D Installing profile for com.google.samples.apps.sunflower
Mengonfigurasi tampilan log
Tampilan log standar menampilkan tanggal, waktu, ID proses dan thread, tag, nama paket, prioritas, dan pesan yang terkait dengannya. Secara default, baris pesan tidak digabungkan dalam tampilan log, tetapi Anda dapat menggunakan opsi Soft-Wrap dari toolbar Logcat.
Anda dapat beralih ke tampilan Compact, yang secara default menampilkan lebih sedikit informasi, dengan mengklik Configure Logcat Formatting Options dari toolbar Logcat.
Untuk mengonfigurasi seberapa banyak informasi yang ingin ditampilkan lebih lanjut, pilih Modify Views, dan pilih apakah Anda ingin melihat stempel waktu, tag, ID proses, atau nama paket yang ditampilkan.
Mengubah skema warna
Untuk mengubah skema warna, buka Android Studio > Settings > Editor > Color Scheme. Untuk mengubah skema warna tampilan log Anda, pilih Android Logcat. Untuk mengubah skema warna filter, pilih Filter Logcat.
Opsi konfigurasi tambahan
Untuk opsi konfigurasi tambahan, buka Android Studio > Settings > Tools > Logcat. Dari sini, Anda dapat memilih ukuran buffer siklus Logcat, filter default untuk jendela Logcat baru, dan apakah Anda ingin menambahkan filter dari histori ke pelengkapan otomatis.
Menggunakan Logcat di beberapa jendela
Tab membantu Anda beralih antarperangkat atau kueri yang berbeda dengan mudah. Anda dapat membuat beberapa tab Logcat dengan mengklik New Tab . Dengan mengklik kanan tab, Anda dapat mengganti nama dan mengatur ulang tab.
Selain itu, Anda dapat membagi tampilan dalam tab untuk memudahkan Anda membandingkan antara dua kumpulan log. Untuk membuat pemisahan, klik kanan di tampilan log atau klik opsi Split Panels dari toolbar, lalu pilih Split Right atau Split Down. Untuk menutup pemisahan, klik kanan dan pilih Close. Setiap pemisahan memungkinkan Anda menyetel koneksi perangkat, opsi tampilan, dan kuerinya sendiri.
Gambar 2. Memisahkan jendela Logcat di Android Studio.
Dari toolbar Logcat, Anda dapat men-scroll ke akhir log, atau Anda dapat mengklik baris tertentu agar baris tersebut tetap terlihat.
Log kueri menggunakan penelusuran nilai kunci
Di Android Studio, Anda dapat membuat penelusuran nilai kunci langsung dari
kolom kueri utama. Sistem kueri ini memberikan akurasi kueri yang Anda
inginkan dan juga mengecualikan log berdasarkan nilai kunci. Meskipun memiliki opsi untuk
menggunakan ekspresi reguler, Anda tidak perlu mengandalkan ekspresi tersebut untuk kueri. Untuk melihat
saran, tekan Ctrl
+ Space
di kolom kueri.
Gambar 3. Tekan Ctrl
+ Space
di kolom kueri untuk melihat daftar
kueri yang disarankan.
Berikut adalah beberapa contoh kunci yang dapat Anda gunakan dalam kueri:
tag
: Mencocokkan kolomtag
entri log.package
: Mencocokkan nama paket aplikasi logging.process
: Mencocokkan nama proses aplikasi logging.message
: Mencocokkan bagian pesan dari entri log.level
: Mencocokkan level log parah yang ditentukan atau lebih tinggi–misalnya,DEBUG
.age
: Mencocokkan jika stempel waktu entri terbaru. Nilai ditentukan sebagai angka diikuti dengan huruf yang menentukan satuan waktu:s
untuk detik,m
untuk menit,h
untuk jam, dand
untuk hari. Misalnya,age: 5m
hanya memfilter pesan yang dicatat ke dalam log dalam 5 menit terakhir.
Negasi dan ekspresi reguler
Kolom berikut mendukung pencocokan negasi dan ekspresi reguler: tag
,
package
, message
, dan line
.
Negasi dinyatakan dengan menambahkan -
ke nama kolom. Misalnya,
-tag:MyTag
cocok dengan entri log yang tag
-nya tidak berisi string
MyTag
.
Pencocokan ekspresi reguler dinyatakan dengan menambahkan ~
ke nama kolom.
Misalnya, tag~:My.*Tag
.
Pengubah negasi dan ekspresi reguler dapat digabungkan. Misalnya,
-tag~:My.*Tag
.
Operator logika dan tanda kurung
Bahasa kueri mendukung operator AND
dan OR
yang dinyatakan oleh &
dan
|
, serta tanda kurung. Contoh:
(tag:foo | level:ERROR) & package:mine
Perlu diperhatikan bahwa prioritas operator normal diterapkan, sehingga hal berikut:
tag:foo | level:ERROR & package:mine
Dievaluasi sebagai:
tag:foo | (level:ERROR & package:mine)
Operator logika implisit
Jika operator logika tidak diterapkan, bahasa kueri akan otomatis
mengevaluasi beberapa istilah filter key-value
yang tidak diabaikan dengan kunci yang sama seperti
OR
, dan lainnya dengan AND
.
Contoh:
tag:foo tag:bar package:myapp
Dievaluasi sebagai:
(tag:foo | tag:bar) & package:myapp
Namun:
tag:foo -tag:bar package:myapp
Dievaluasi sebagai:
tag:foo & -tag:bar & package:myapp
Jika beberapa istilah kueri dipisahkan oleh spasi kosong tanpa operator logika,
istilah tersebut diperlakukan sebagai AND dengan prioritas rendah. Misalnya, istilah
foo bar tag:bar1 | tag:bar2
setara dengan
'foo bar' & (tag: bar1 | tag: bar2)
.
Kueri khusus
package:mine
Kunci paket mendukung nilai khusus mine
. Nilai khusus ini cocok dengan
nama paket apa pun yang berada dalam project terbuka.
level
Kueri level
cocok dengan level log pesan Logcat, dengan
tingkat entri log lebih besar atau sama dengan level kueri.
Misalnya, level:INFO
cocok dengan entri log apa pun dengan level log INFO
,
WARN
, ERROR
, atau ASSERT
. Level tidak peka huruf besar/kecil. Level yang valid adalah:
VERBOSE
, DEBUG
, INFO
, WARN
, ERROR
, dan ASSERT
.
age
Kueri age
cocok dengan entri berdasarkan stempel waktunya, dan diformat sebagai
age:<number><unit>
, dengan
<number>
adalah bilangan bulat<unit>
adalah salah satu daris
,m
,h
, dand
(detik, menit, jam, dan hari).
Dengan daftar berikut, kueri age
cocok dengan pesan log yang memiliki
stempel waktu dalam rentang yang dijelaskan oleh nilai. Misalnya: kueri age:5m
cocok dengan entri dengan stempel waktu tidak lebih awal dari 5 menit yang lalu.
age:30s
age:5m
age:3h
age:1d
Perhatikan bahwa stempel waktu dibandingkan dengan stempel waktu host, bukan perangkat yang terhubung. Jika waktu perangkat tidak disetel dengan benar, kueri ini mungkin tidak berfungsi seperti yang diharapkan.
kunci is
Anda dapat menggunakan kunci is
sebagai berikut:
is:crash
cocok dengan entri log yang merepresentasikan error aplikasi (baik native maupun Java).is:stacktrace
cocok dengan entri log yang mewakili apa pun yang terlihat seperti stack trace Java, terlepas dari level log.
kunci name
Kunci name
memungkinkan Anda memberikan nama unik untuk filter tersimpan sehingga
dapat diidentifikasi dengan mudah di menu dropdown histori filter. Meskipun error tidak terjadi
karena Anda menentukan name
lebih dari sekali, IDE hanya menggunakan nilai
yang terakhir ditentukan untuk name
dalam kueri.
Melihat histori kueri
Anda dapat melihat histori kueri dengan mengklik
Show history
di samping kolom kueri. Untuk memfavoritkan kueri agar tetap berada di bagian atas
daftar di semua project studio Anda, klik bintang di sampingnya. Anda juga dapat
menggunakan kunci name:
agar kueri favorit lebih mudah dikenali. Untuk mengetahui informasi selengkapnya, lihat Kueri khusus.
Gambar 4. Favoritkan kueri dengan mengklik bintang di sampingnya.
Melacak log saat aplikasi mengalami error dan dimulai ulang
Saat Logcat melihat bahwa proses aplikasi telah berhenti dan dimulai ulang, Logcat akan menampilkan
pesan dalam output, seperti PROCESS ENDED
dan PROCESS STARTED
.
Memulai ulang Logcat akan mempertahankan konfigurasi sesi, seperti pemisahan tab,
filter, dan opsi tampilan sehingga Anda dapat melanjutkan sesi dengan mudah.
Gambar 5. Saat proses aplikasi dimulai ulang, Logcat akan mencetak pesan bahwa proses telah berakhir, lalu dimulai.