众所周知,日志在应用产品的整个开发生命周期中发挥着重要的作用。例如:在软件开发过程中,错误日志可以帮助开发人员及时地识别出程序中的逻辑错误;而在将产品发布到市场之后,支持工程师可以通过分析错误日志,来解决各种疑难杂症。在我们常用的安卓(Android)系统中,各种日志默认是被集中式管理的。当然,市场上有许多可用来开发Android应用的工具,能够让应用开发程序员们编写出自定义的日志消息,以及特定日志语句定义的各种过滤器。目前,Android生态系统提供了不同类型的日志,其中包括:应用日志、系统日志、事件日志、以及广播日志(Radio Logs)。
日志记录系统的组成包括:内核驱动程序和内核缓冲区(用于存储Android日志消息),可用于创建日志条目和访问日志消息的C、C++和Java类,可用于查看日志消息(logcat)的独立程序,以及具有查看日志和过滤来自主机的日志消息(通过eclipse或ddms)等组件。
Android系统的Linux内核有着四个不同的日志缓冲区,它们针对系统的不同部分提供着日志记录。例如:通过文件系统里/dev/log的设备节点,我们可以访问到Android的四个日志缓冲区:main、event、radio和system。其中main日志用于应用程序,event用于系统事件信息,radio用于电话相关信息,而system则与低级系统消息和调试有关。
日志中的每一条消息都包含有一个标记。通过此类标记我们可以获悉:该消息来自系统或应用的哪一部分、时间戳(该消息何时到达的)、消息的日志级别(或消息所代表的事件优先级)、以及日志消息体本身(有关错误、异常或信息等详细的说明)。
Android系统中的四大日志类型:
1.应用日志
2.系统日志
3.事件日志
4.广播日志
Android上日志格式
在Android系统里常见的日志格式为:tv_sectv_nsec priority pidtid tag messageLen Message。其中:
日志文件位置
原则上,Android的各项日志(包括崩溃日志)可以被存储在多处,且无标准化目录(即:由系统的ROM所特定)的要求。在此,我们介绍一些常用且常见的目录:
“Log”相关的命令行工具
在实际项目中,我们可以通过各种应用程序或命令行工具,从设备或仿真器上捕获在Android上产生的相关日志,进而将它们共享给各类开发人员或维护人员,以便他们开展深入的分析。下面是三个常用的命令:
实用的过滤器模式
为了减少数据量,您可以通过在adb命令(请参见-- https://www.pcloudy.com/executing-adb-shell-commands/)中使用如下过滤器(filter),来缩减日志的总量。当然,您也可以使用此类过滤器,来搜索用户Android设备上的日志文件。
日志分析
至此,我们对Android的日志系统有了基本的了解。在实际分析中,我们通常会关注两类应用日志,它们分别是:
我们可以使用诸如GoogleLogTool和SonyLogTool之类的工具,通过采用过滤器模式,进行深入的分析。
当前文章:浅谈安卓日志分析
标题网址:http://www.mswzjz.cn/qtweb/news34/460534.html
攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能