LoginSignup
8
4

More than 1 year has passed since last update.

Android StudioのLogcatにおける新しいKey-Value検索

Last updated at Posted at 2022-12-17

概要

2022年9月15日にStable channelとなったAndroid Studio Dolphinからは、Logcatの機能が刷新されました。いくつか新しくなった機能がありますが、その中でもログの検索がKey-Value方式になったことが最も大きな変更点ではないでしょうか。

ところが、以下の公式ドキュメントには代表的な使い方しか書かれておらず、私は最初かなり戸惑いました。そこで改めてKey-Value検索で出来ることを整理し、まとめてみました。

Android Studio Dolphin : 新しいLogcat
スクリーンショット 2022-12-16 19.46.31.png

使用可能なKey

ドキュメントに記載のもの以外も含めると、Android Studioのサジェストから確認できるKeyは全部で6種類あります。

Key名 使用例 説明
package package:system_process パッケージIDを指定できる(※1)
tag tag:ActivityManager タグを指定できる
level level:INFO ログレベルを指定できる(※2)
message message:error メッセージをフィルタリングするワードを指定できる
age age:3d / age:2h 最新のxx日分やxx時間分のみ表示させるための値を指定できる
line ??? これだけ使い方が不明

※1: 自分のアプリは package:mine で指定できる。
※2: 指定可能なレベルは VERBOSE, INFO, ASSERT, DEBUG, WARN, ERROR のいづれか。

Valueの使い方

Valueは値を指定する以外にも、特定の値を除外したり正規表現を使ったりすることも可能です。

特定の値の除外

Keyの前に - を付けて値を指定すると除外したログを表示できます。

例)-tag:System : Systemのタグ以外を表示
スクリーンショット 2022-12-16 20.33.27.png

正規表現を使った検索

Keyの後に ~ を付けるとValueに正規表現を使えます。

例) package~:^com\.android : パッケージIDがcom.androidで始まるログを表示
スクリーンショット 2022-12-16 20.45.34.png

検索条件の組み合わせ

丸括弧と論理演算子を使って検索条件を指定することもできます。

例) (message:error | level:ERROR) : メッセージにerrorが入っているかERRORレベルのログを表示
スクリーンショット 2022-12-16 20.49.49.png
ちなみに同じ条件でもKey-Valueを並べるだけだとAND条件になってしまいます。
スクリーンショット 2022-12-16 20.51.57.png

検索条件の保存

検索クエリは履歴に残りますが、星アイコンをクリックすることで保存することもできます。
スクリーンショット 2022-12-16 20.54.17.png

まとめ

  • Key-Value形式でログのフィルタリングができるようになった
  • 引き続き正規表現を使ってのフィルタリングはサポートしている
  • Key-Valueの組み合わせもある程度可能

慣れると以前のLogcatよりも、フィルタリングしやすくなったように感じます。line の使い方が分からなかったのが残念です。ご存じの方は、ぜひコメントで教えてください。

8
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
4