第一章:Logcat基础入门
做Android开发这些年,我调试过无数个Bug。说实话,最离不开的工具就是Logcat。它就像医生的听诊器,能帮你听到App的「心跳声」。今天咱们就来聊聊这个老朋友。
什么是Logcat?
Logcat是Android系统提供的一个日志工具。它能把系统里发生的事都记录下来——从App启动、网络请求,到某个变量值的变化,全都能看到。
我个人习惯把它叫做「系统日记本」。你想想看,App运行过程中,每个动作、每个状态变化,都会在这里留下痕迹。出了问题,翻翻这本日记,基本就能找到线索。
核心概念:Logcat是Android调试的基石。没有它,很多问题你只能靠猜。
日志级别:从Verbose到Assert
Logcat把日志分成了6个级别。每个级别代表不同的重要程度。我刚开始学的时候,总觉得级别太多记不住。后来发现,其实就三个场景:
- Verbose(啰嗦模式)——最详细的日志,开发时用。正式版千万别开,否则日志刷屏。
- Debug(调试信息)——我常用的级别。记录变量值、函数调用等调试信息。
- Info(普通信息)——记录关键流程。比如「用户登录成功」、「数据加载完成」。
- Warn(警告)——有潜在风险,但还没出问题。比如「内存使用率过高」。
- Error(错误)——出错了,但App还能跑。比如「网络请求超时」。
- Assert(断言失败)——最严重的级别。一般用于测试框架,表示条件不成立。
| 级别 | 含义 | 使用场景 |
|---|---|---|
| Verbose | 啰嗦模式 | 开发调试,正式版禁用 |
| Debug | 调试信息 | 记录变量、函数调用 |
| Info | 普通信息 | 关键流程记录 |
| Warn | 警告 | 潜在风险提示 |
| Error | 错误 | 可恢复的错误 |
| Assert | 断言失败 | 测试框架使用 |
我的习惯:开发阶段用Debug和Verbose。发布前把Verbose全删掉,只保留Info和Error。这样线上出问题,日志不会太乱。
Logcat在Android Studio中的位置
打开Android Studio,底部有个「Logcat」标签。点一下就能看到。嗯,这里要注意——有时候它被折叠了,你得手动展开。
界面分三块:
- 顶部工具栏——过滤、搜索、清空日志。我常用的就是过滤功能。
- 中间日志区——所有日志都在这里滚动显示。默认按时间排序。
- 底部状态栏——显示连接设备和进程信息。
我记得第一次用Logcat时,被满屏的日志吓到了。后来才知道,原来可以过滤。比如只显示Error级别的日志,或者只显示某个App的日志。
避坑指南:我曾经在调试时,忘了选进程。结果看了半天日志,发现全是系统日志,跟自己的App半毛钱关系没有。所以,第一步一定要确认选对了进程。
怎么用Logcat?
在代码里写日志很简单。Android提供了Log类:
// 写一条Debug日志
Log.d("MainActivity", "用户点击了登录按钮");
// 写一条Error日志
Log.e("MainActivity", "网络请求失败", exception);
第一个参数是Tag(标签),第二个是内容。Tag最好用类名,这样一眼就能看出是哪个类输出的日志。
你想想看,如果所有日志都用同一个Tag,那找起来得多费劲?所以,我建议每个类都用自己类名做Tag。这样过滤时,直接搜类名就行。
小结
Logcat是Android调试的第一道防线。掌握了它,你就能看到App运行时的「内心独白」。下一章,咱们聊聊怎么过滤日志——毕竟,满屏的日志谁看了都头疼。
一句话总结:Logcat就是你的调试眼睛。学会用它,Bug无处遁形。