
コマンドライン版の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
