App logcat日志分析

本文详细解析了Android日志系统Logcat的工作原理,包括日志缓冲区定义、常见日志类型如radio、system、events、main,以及如何通过命令行查看和过滤日志。介绍了日志的五部分组成,时间、优先级、标签、PID和内容,并提供了实用的logcat命令示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

logcat日志文件

android日志系统提供了记录和查看系统调试信息的功能,日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过logcat命令来查看和使用,命令为:

adb logcat [<option>]...[<fiter-spec>]..

开发者选项中有个叫日志记录缓冲区大小,默认是256k,也就是超过了256k就要清理掉旧数据

那么缓冲区是如何定义的

缓冲区

由于logcat输出量巨大,特别是信息系统的log,因此,android把log输出到不同的缓冲区,目前定义了4个缓冲区:
1、radio:输出通信系统的log(手机里与通信相关的,例如wifi,345G,蓝牙,gps)
2、system:输出系统组件的log(例如调用摄像头,麦克风)
3、events:输出event模块的log(触摸事件,按键事件等)
4、main:输出所有java层的log(不包括以上)
如果我们想查看通讯的log日志
那么

adb logcat -b radio >d:\radio_log.log

在这里插入图片描述
我们平时使用main就可以了,main就是默认,咱们不指定模块就是system和main,所以我们平时用的应该是这个样子的
在这里插入图片描述
可能大部分人第一次看都是想 这是什么鬼 看不懂啊
那么咱们来慢慢解析
日志分5部分
1、写下日志时的时间
2、优先级
优先级是下面的字符,顺序是从低到高:
V — 明细 verbose(最低优先级)
D — 调试 debug
I — 信息 info
W — 警告 warn
E — 错误 error
F — 严重错误 fatal
S — 无记载 silent

标记是一个简短的字符串,用于标识原始消息的来源。如下是一个日志输出的消息,优先级是“D”,标记是“PowerManagerService”:

D/PowerManagerService( 305): onSensorChanged: light value: 306.0
使用logcat命令查看android日志输出:

adb logcat //显示全部日志
adb logcat > c:\test.log //将日志保存到文件test.log

根据tag标记和级别过滤日志输出:

仅输出标记为“ActivityManager”且优先级大于等于“Info”和标记为“PowerManagerService”并且优先级大于等于“Debug”的日志:

adb logcat ActivityManager:I PowerManagerService:D *:S

注:*:S用于设置所有标记的日志优先级为S,这样可以确保仅输出符合条件的日志。

adb logcat *:W //显示所有优先级大于等于“warning”的日志

adb logcat -s PowerManagerService //显示PowerManagerService的日志信息
3、标签(tag),标明日志发起者和方便日志过滤
4、PID 进程号
5、正文 日志主体内容
说道时间,时间咱刚才的日志也没有啊,加上-v time即可

adb logcat -v time -b radio >d:\radio_log.log

在这里插入图片描述
对上了吧这回

那么我们要观察优先级,重要的是W和E,我们重点观察E,也就是错误的日志,那么分为几种:
1、内存泄露
2、内存溢出
3、内存抖动
4、崩溃
5、ANR

我们主要说崩溃和ANR
崩溃我们就直接在日志中搜索Crash关键字,保险的话搜索FATAL EXCEPTION关键字(表示出现严重错误),之下所有同级别的日志都需要截取,发给开发

ANR:我们在日志中所有ANR in关键字,在发生ANR之前会将anr信息写在/data/anr/traces.txt中将其中的日志发送给开发,这记录最近一次anr,多次的话/data/system/dropbox,其中会有多种异常信息

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值