实时日志
设备写的东西很多。实时日志是这条流,加上让它变得可读的那几个过滤器。
- 选中设备。
- 打开实时日志。
- 可以把范围收到某个 App,然后在设备上操作它。
输出边写边出现。手机上没有开关要开,你的包里也不用加任何东西。
三种过滤,通常需要组合使用:
- 按应用。 收窄到一个进程。从这里开始。
- 按关键字。 整行子串匹配。你自己的日志前缀,是这个输入框里最有价值的东西。
- 按进程。 比“按应用”更宽 —— 适合追一个正在抱怨你的 App 的系统守护进程,而不是 App 本身。
除了自己的日志还能看到什么
Section titled “除了自己的日志还能看到什么”系统日志量很大,大部分噪音你会学会忽略。但有几类不是:
| 日志 | 值不值得读 |
|---|---|
| 内存压力警告 | 值得 —— 常常是被 jetsam 杀掉前的最后一句话 |
| 看门狗 / 卡死报告 | 值得 —— 主线程被阻塞到系统都注意到了 |
| 网络可达性变化 | 追间歇性失败的请求时值得 |
| 布局约束冲突 | 值得,而且通常是你自己的问题 |
| 守护进程的日常絮叨 | 不值得 |
保存写出的是当前视图的内容 —— 过滤条件也生效,所以存下来的是过滤后的日志而不是原始洪流。这通常正是你想附到工单上的东西,但记得在工单里说明是哪个过滤条件产出的。
对可复现的故障,有用的采法是:清空 → 复现 → 停止 → 保存。一个从十分钟前开始的文件,下一个人读起来会痛苦得多。
日志读不下去的时候
Section titled “日志读不下去的时候”实时日志显示的是 App 选择说出来的东西。App 什么都没说的时候(卡死了,或者直接消失了),日志会在没有任何交代的地方结束。两条后续线索:
