🐻‍❄️

Android Studio Dolphinの新しいLogcatの機能をまとめる

2022/09/29に公開

image7.png

はじめに

Android Studio Dolphinから使えるようになった新しいLogcatの機能を試してみたのでまとめます。

環境

今回は以下のAndroid Studio Dolphinのバージョンを利用して動作確認します。

Image.png

また新Logcatはデフォルトで無効化されているので、以下の手順で有効化しています。

  1. 「Android Studio」→「Preferences」を開く
  2. 「Experimental」→「Enable new logcat tool window」にチェックを入れる
  3. 「OK」を押した後、Android Studioを再起動する

Image.png

機能

複数ウィンドウ表示

新Logcatでは複数ウィンドウ表示がサポートされ、「ウィンドウ作成」「ウィンドウ名称変更」「スプリット表示」ができるようになった。

ウィンドウ作成

create_multiple_logcat.gif

ウィンドウ名称変更

logcat_rename.gif

スプリット表示

Screen Recording 2022-09-28 at 21.11.37.gif

表示プリセット切替

新Logcatでは「Standard View」「Compact View」と2つの表示プリセットがあり、ユーザーの好みに応じて切り替えられるようになった。

Image.png

Standard View

表示項目 内容
Timestamp 出力した時刻(Datetime)
Process Id 出力したプロセスのID
Package Name 出力したパッケージの名称
Tag タグ情報
Level レベル情報
Message メッセージ情報

Image.png

Compact View

表示項目 内容
Timestamp 出力した時刻(Time)
Level レベル情報
Message メッセージ情報

Image.png

表示プリセット編集

新Logcatでは「Modify Views」にて、ユーザーが表示プリセットを編集できるようになった。

Image.png

Modify Views

設定項目 内容
Timestamp ログを出力した時刻を表示するかどうか、また表示する時刻のフォーマットの設定ができる
Process Ids ログを出力したプロセスのIDを表示するかどうか、またスレッドIDもあわせて表示するか設定ができる
Tags タグ情報を表示するかどうか、またタグを表示するカラムの長さなど設定ができる
Package Names パッケージ名を表示するかどうか、またパッケージ名を表示するカラムの長さなど設定できる

Image.png

新キー・バリュー検索

新Logcatでは以下のルールでクエリを記述することで、旧Logcatよりも簡単に目的のログをフィルタリングできるようになった。

クエリ 内容
package:mine プロジェクトのアプリをログを表示する
package:<package-ID> 指定したパッケージIDのログを表示する
level:[VERBOSE | INFO | ASSERT | DEBUG | WARN | ERROR ] 指定したレベルのログを表示する
tag:<tag> 指定したタグのログを表示する
-tag:<exclude-tag> 特定のタグのログを除いて表示する
tag~:<regular-expression-tag> 指定した正規表現に該当するログを表示する
-tag~:<regular-expression-tag> 指定した正規表現に該当するログを除いて表示する

例. package:mine

package:mineと入力すると、開いているプロジェクトのjp.kaleidot725.sample のログが表示できる。

Image.png

例. package:<package-ID>

package:com.android.systemui と入力すると、パッケージIDがcom.android.systemuiのログを表示できる。

Image.png

例. level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]

level:WARNとするとWARN以上のレベルのログ、level:ERRORとするとERROR以上のレベルのログが表示される。

Image.png

Image.png

例. tag:<tag>

tag:TESTと入力すると、タグにTESTが含まれるログを表示できる。

Image.png

例.-tag:<exclude-tag>

-tag:TESTと入力すると、タグにTESTが含まれるログを除いて表示できる。

Image.png

例.tag~:<regular-expression-tag>

tag~:[ab]と入力すると、タグにaまたはbが含まれるログのみを表示できる。

Screen Shot 2022-09-28 at 21.39.32.png

例.-tag~:<regular-expression-tag>

-tag~:[ab]と入力すると、タグにaまたはbが含まれるログを除いて表示できる。

Image.png

クラッシュ・リスタート時のログ表示

新Logcatではアプリケーションがクラッシュし、リスタートしたときのログをわかりやすく表示できるようになった。アプリケーションが開始したときにはPROCESS STARTED、アプリケーションが停止したときにはPROCESS ENDEDと表示される。またクラッシュされたときのログは消えずに残るみたいなので以前よりもログを解析しやすくなった。

Image.png

Image.png

おわりに

全体的にスッキリした見た目になったのと、クエリによる検索機能が充実したため使いやすくなったと思いました。あとはクラッシュ時のログがかなり旧Logcatだと追いづらかったのですが、新Logcatでは改善されて追いやすくなったと感じました。

※ この記事は以下のリリースノートを参考に作成しました。

https://developer.android.com/studio/releases

Discussion