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

はじめに
Android Studio Dolphinから使えるようになった新しいLogcatの機能を試してみたのでまとめます。
環境
今回は以下のAndroid Studio Dolphinのバージョンを利用して動作確認します。

また新Logcatはデフォルトで無効化されているので、以下の手順で有効化しています。
- 「Android Studio」→「Preferences」を開く
- 「Experimental」→「Enable new logcat tool window」にチェックを入れる
- 「OK」を押した後、Android Studioを再起動する

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

ウィンドウ名称変更

スプリット表示

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

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

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

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

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

新キー・バリュー検索
新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 のログが表示できる。

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

例. level:[VERBOSE | INFO | ASSERT |DEBUG | WARN | ERROR ]
level:WARNとするとWARN以上のレベルのログ、level:ERRORとするとERROR以上のレベルのログが表示される。


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

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

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

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

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


おわりに
全体的にスッキリした見た目になったのと、クエリによる検索機能が充実したため使いやすくなったと思いました。あとはクラッシュ時のログがかなり旧Logcatだと追いづらかったのですが、新Logcatでは改善されて追いやすくなったと感じました。
※ この記事は以下のリリースノートを参考に作成しました。
Discussion