一、Android Studio Logcat 基础认知
Logcat 是 Android 的日志系统,常见日志级别:
| 级别 | 方法 | 含义 |
|---|---|---|
| VERBOSE | Log.v() |
最详细日志 |
| DEBUG | Log.d() |
调试用 |
| INFO | Log.i() |
重要运行信息 |
| WARN | Log.w() |
警告 |
| ERROR | Log.e() |
错误 |
| ASSERT | Log.wtf() |
严重错误 |
二、Logcat 界面中「过滤」的两种方式
方式一:搜索框(最常用 ⭐)
Logcat 顶部有一个 Search / Filter 输入框
👉 支持关键字 + 逻辑运算符
这是你要重点掌握的
方式二:自定义 Filter(老方式)
Logcat → Edit Filter Configuration
- Tag
- Package Name
- Log Level
- Message
⚠️ 新版 Android Studio 不推荐频繁用这个,搜索框更强
三、Logcat 搜索框的逻辑运算(重点)
1️⃣ 「或」------ OR / |
用法
text
Music OR Player
或
text
Music|Player
含义
👉 包含 Music 或 Player 的日志都会显示
示例场景
kotlin
Log.d("Music", "init success")
Log.d("Player", "play start")
搜索:
Music|Player
✅ 两条都会显示
2️⃣ 「且」------ 空格 / AND
用法(最常用)
text
Music init
等价于:
text
Music AND init
含义
👉 同时包含 Music 和 init 的日志
示例
kotlin
Log.d("Music", "init success")
Log.d("Music", "play success")
搜索:
Music init
✅ 只显示:
Music init success
3️⃣ 「非 / 排除」------ -
用法
text
Music -error
含义
👉 包含 Music,但不包含 error
示例
kotlin
Log.d("Music", "init success")
Log.e("Music", "init error")
搜索:
Music -error
✅ 只剩下成功日志
4️⃣ 「精确匹配」------ 双引号 " "(等于)
用法
text
"init success"
含义
👉 完全匹配这段文本
示例
kotlin
Log.d("Music", "init success")
Log.d("Music", "init success step2")
搜索:
"init success"
✅ 只显示第一条
5️⃣ 「等于某 Tag / Package」------ tag: / package:
Tag 过滤
text
tag:Music
Package 过滤
text
package:com.zone.music
组合使用(非常常用)
text
tag:Music play
👉 Tag 是 Music,且包含 play
四、组合逻辑高级用法(实战级 ⭐⭐⭐)
示例 1:Music 或 Player,但排除 debug
text
(Music|Player) -debug
示例 2:只看错误日志
text
level:ERROR
或
text
E/
示例 3:某包名 + 某关键字
text
package:com.zone.music init
示例 4:多条件 AND + OR
text
(Music|Player) (init|start)
👉 显示:
- Music init
- Music start
- Player init
- Player start
五、老版本 Logcat(Filter Configuration)
如果你用的是 老版 Android Studio:
| 字段 | 含义 |
|---|---|
| Log Tag | 精确匹配 Tag |
| Package Name | 包名 |
| Log Level | 最低级别 |
| Message | 日志内容 |
⚠️ 缺点:
- 不支持 OR
- 不支持组合
- 不支持排除
👉 建议升级使用新版 Logcat
六、推荐你作为 Android 开发者的日志规范(经验)
1️⃣ Tag 统一规则
kotlin
private const val TAG = "MusicPlayer"
2️⃣ 关键日志统一关键词
kotlin
Log.d(TAG, "[INIT] service start")
Log.d(TAG, "[PLAY] play song")
Log.e(TAG, "[ERROR] load failed")
3️⃣ 对应过滤
text
tag:MusicPlayer [INIT]
text
[ERROR]
七、速查表(建议收藏)
| 目的 | 搜索写法 | |
|---|---|---|
| 或 | `A | B` |
| 且 | A B |
|
| 非 | A -B |
|
| 精确等于 | "text" |
|
| 指定 Tag | tag:XXX |
|
| 指定包名 | package:xxx |
|
| 指定级别 | level:ERROR |