
コマンドライン版のlogcatの使い方
2025年4月17日
Android Stduio や VSCode などで開発しているときは、これらIDE内にログ出力が表示されますが、
IDEを起動せずにアプリのログ出力を確認したいということがあります。
コマンドライン版のlogcat の使い方を知っておくといつか役に立つことがあるかもしれません。
起動方法
adb はパスが通っている前提です。
起動方法は adb logcat となります。
adb logcat [オプション指定] [フィルタリング指定]フィルタリング
フィルタリングを何も指定しないとすべてのログ出力が表示されてしまい、
必要な情報を見つけにくいのでフィルタリングします。
フィルタリングは<タグ>:<出力レベル> という形式で指定します。
複数指定するときは、<タグ1>:<出力レベル1> <タグ2>:<出力レベル2> ...というように
スペース区切りで複数指定できます。
何もフィルタリング指定しなかったものはそのまま出力されてしまうので、
その他のログを出力させないようにするには、*:Sも指定する必要があります。
タグの指定
タグとはどこから出力されたかを示すものです。
たとえばFlutterからのログ出力は、flutter となります。(Flutterではないので注意です。)
タグ名は大文字小文字を区別するので、正確に指定する必要があります。
*は特殊なタグ名で、すべてのタグを表します。
出力レベルの指定
| 出力レベル | 意味 |
|---|---|
| V | Verbose, すべて出力 |
| D | Debug |
| I | Info |
| W | Warning |
| E | Error |
| F | Fatal |
| S | Silent, 出力しない |
指定したレベル以上のログ出力が表示されます。
Vが最も低いレベルで、Sが最も高いレベルになっています。
すべて表示したいときはVを、まったく表示させたくないときはSを指定します。
出力レベルは大文字・小文字を区別しないようなので、Vでもvでも同じです。
例
# Flutterではなくflutter, その他を出力しないように *:Sを指定する
adb logcat flutter:V *:Sその他のオプション
詳しくは公式ドキュメント を参照してください
出力形式
-v (brief|long|process|raw|tag|thread|threadtime|time)
デフォルトはthreadtimeです。
-v tag を指定するとタグと出力レベルだけになるので見やすいかもしれません。
ログバッファ指定
どのログバッファを出力するかを指定
-b (radio|events|main|system|crash|all|default)
複数指定するときは","区切りで指定します: -b main,system,crash
| 名前 | 意味 |
|---|---|
| radio | 無線通信・電話関連 |
| events | イベント関連 |
| main | メインログ、デフォルト |
| system | システムログ |
| crash | クラッシュログ |
| all | すべてのログバッファ |
| default | main + system + crash |
情報源
https://developer.android.com/tools/logcat?hl=ja
