logcatは端末のログを表示するサブコマンドである。引数なしで実行するとすべてのログが表示され続けるため、タグや優先度による絞り込みを併用することが多い。

タグでフィルタする

<タグ>:<優先度>の形式でフィルタを指定する。末尾に*:S(すべてのタグを抑制)を付けると、指定したタグ以外を表示しなくなる。

$ adb logcat MyTag:I *:S
09-23 23:12:14.237 18814 18814 I MyTag   : hello from MyTag

*:Sを付けない場合、指定したタグ以外のログもV(Verbose、実質フィルタなし)で表示され続ける。

優先度でフィルタする

優先度はV(Verbose)、D(Debug)、I(Info)、W(Warn)、E(Error)、F(Fatal)、S(Silent、すべて抑制)の7段階で、指定した優先度以上のログのみが表示される。

$ adb logcat PrioTag:W *:S
09-23 23:12:15.422 18822 18822 W PrioTag : warning message

上記の例ではD(Debug)で出力したログは表示されず、W(Warn)以上のログだけが表示される。

-vで表示フォーマットを変える

-vに続けてフォーマット名を指定すると、ログの表示形式を変更できる。デフォルトはthreadtimeである。

$ adb logcat -v threadtime MyTag:I *:S
09-23 23:11:53.245 18784 18784 I MyTag   : format test message

$ adb logcat -v brief MyTag:I *:S
I/MyTag   (18784): format test message

$ adb logcat -v time MyTag:I *:S
09-23 23:11:53.245 I/MyTag   (18784): format test message

$ adb logcat -v tag MyTag:I *:S
I/MyTag   : format test message

$ adb logcat -v raw MyTag:I *:S
format test message

rawはタグやタイムスタンプを含まずメッセージ本文だけを表示する。

フォーマットに修飾子を追加する

フォーマット名の後にカンマ区切りで修飾子を追加すると、表示内容を細かく調整できる。

$ adb logcat -v time,usec MyTag:I *:S
09-23 23:11:53.245071 I/MyTag   (18784): format test message

$ adb logcat -v time,uid MyTag:I *:S
09-23 23:11:53.245 I/MyTag   (shell:18784): format test message

$ adb logcat -v time,year MyTag:I *:S
2026-09-23 23:11:53.245 I/MyTag   (18784): format test message

usecはマイクロ秒まで、uidはプロセスIDに加えてUID(実行ユーザー)名、yearは年を表示に追加する。