Top
/
Articles
/
コマンドライン版のlogcatの使い方
カテゴリー「Android」の画像

コマンドライン版のlogcatの使い方

Android
Tool

2025年4月17日

Android Stduio や VSCode などで開発しているときは、これらIDE内にログ出力が表示されますが、
IDEを起動せずにアプリのログ出力を確認したいということがあります。
コマンドライン版のlogcat の使い方を知っておくといつか役に立つことがあるかもしれません。

起動方法

adb はパスが通っている前提です。
起動方法は adb logcat となります。

adb logcat [オプション指定] [フィルタリング指定]

フィルタリング

フィルタリングを何も指定しないとすべてのログ出力が表示されてしまい、
必要な情報を見つけにくいのでフィルタリングします。

フィルタリングは<タグ>:<出力レベル> という形式で指定します。
複数指定するときは、<タグ1>:<出力レベル1> <タグ2>:<出力レベル2> ...というように
スペース区切りで複数指定できます。

何もフィルタリング指定しなかったものはそのまま出力されてしまうので、
その他のログを出力させないようにするには、*:Sも指定する必要があります。

タグの指定

タグとはどこから出力されたかを示すものです。
たとえばFlutterからのログ出力は、flutter となります。(Flutterではないので注意です。)
タグ名は大文字小文字を区別するので、正確に指定する必要があります。

*は特殊なタグ名で、すべてのタグを表します。

出力レベルの指定

出力レベル意味
VVerbose, すべて出力
DDebug
IInfo
WWarning
EError
FFatal
SSilent, 出力しない

指定したレベル以上のログ出力が表示されます。
Vが最も低いレベルで、Sが最も高いレベルになっています。
すべて表示したいときはVを、まったく表示させたくないときはSを指定します。

出力レベルは大文字・小文字を区別しないようなので、Vでもvでも同じです。

Flutterで作成したアプリからのログ出力だけを表示する
# 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すべてのログバッファ
defaultmain + system + crash

情報源

https://developer.android.com/tools/logcat?hl=ja

横長宣伝