Logcatで常駐させているタブ紹介
Logcatのクエリとタブ機能
Android Studio DolphinからLogcatが新しくなり、ログの検索がクエリで行えるようになりました。また、その条件を設定したタブを残すことができるようになりました。
それ以前ではタブを残すことができず、例えばエラーだけのログを見たい場合、ドロップダウンからErrorレベルを選択し、通常のログに戻るという作業を繰り返すしかなかったため、タブ機能ができてとても便利になりました。
そこで、普段の開発で私が常駐させているタブを紹介したいと思います。
Logcatタブ
クエリ
package:mine
役割
自アプリが出すログを全部見る。
デフォルトで出るLogcatがこちらです。全部が出ている生値のようなものとして残しておいています。
Footprintタブ
クエリ
package:mine tag:Footprint
役割
Footprintログを見る。
ログライブラリとしてFootprintというライブラリを使っており、そのログを見るためのタブを用意しています。
開発時に仕込むデバッグログが書きやすいので重宝しています。
Errorタブ
クエリ
package:mine level:error
役割
エラーログだけを見る。
以前のLogcatでクラッシュ時や、ライブラリのエラーログを見るためにエラーレベルに切り替えて使っていたので、同様の用途のタブです。
Crashタブ
クエリ
package:mine is:crash
役割
アプリクラッシュ時のログを見る。
is:crash
という書き方ができることを最近知ったのでタブ化しました。クラッシュログであればErrorタブよりこちらを見るほうが便利そうです。
Analyticsタブ
クエリ
tag:FA-SVC tag:Repro
役割
アプリ分析ツールのログを見る。
FirebaseAnalyticsのログをtag:FA-SVC
で、Reproのログをtag:Repro
で取得しています。
FirebaseAnalyticsのログは自アプリのパッケージでなく、com.google.android.gmsが出しているので、package:mine
は付けていません。
Flamingoではなかったのですが、Headgehogではis:firebase
というクエリが使えました。今後Firebase関連のログはis:firebase
を使うほうが便利かもしれません。
Fragmentタブ
クエリ
package:mine tag:FragmentManager
役割
FragmentManagerロギングのログを見る。
adb shell setprop log.tag.FragmentManager DEBUG
でFragment遷移の詳細をログに出すことができますが、ログ行数が多いのでタブに切り出しています。
Networkタブ
クエリ
package:mine tag:okhttp.OkHttpClient
役割
通信ログを見る。
通信にRetrofit2/OkHttpを使っており、デバッグビルドでは通信ログを出すようにしています。
通信ログだけが見れるタブがあると便利なので、作っています。おわりに
Logcatにタブを置いておけるようになり便利になりました。この記事では、私が開発時によく使い、常駐させているタブを紹介しました。他にも便利なLogcatタブの使い方があれば是非知りたいです。
Discussion