您的位置:首页 > 移动开发 > Android开发

android系统日志

2016-07-14 22:32 387 查看
系统日志主要包含:

android log(包含 main_log、events_log、kernel_log),mainlog记录手机android上层app以及framework相关活动的log,比如你写的app打印的log,就在这里面;eventslog则主要是ActivityManager、powerManager等相关的log;Kernellog则主要是驱动相关的log。)

可以在dos窗口用命令调出该日志:logcat -v time :V*

Log命令详解:

logcat本身是android的shell的一个命令,你可以通过“adb shell”进入shell后执行logcat命令,也可以通过”adb logcat”直接运行。

语法:

[adb] logcat [] … [] …

选项:

-b 指定要查看的日志缓冲区,可以是system,events ,radio,main . 默认值是system和main 。

-c 清楚屏幕上的日志.

-d 输出日志到屏幕上.

-f 指定输出日志信息的 ,默认是stdout .

-g 输出指定的日志缓冲区,输出后退出.

-n 设置日志的最大数目 .,默认值是4,需要和 -r 选项一起使用。

-r 每 时输出日志,默认值为16,需要和-f 选项一起使用.

-s 设置默认的过滤级别为silent.

-v 设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output

参数

参数用于对某类的tag的日志输出进行过滤。每一个输出的Android日志信息都有一个tag和它的优先级.

日志的标签是系统部件原始信息的一个简要的标志。这个tag就是Log.i,Log.d,Log.i,Log.w,Log.e,Log.wtf系列函数中的tag.

对于System.out.print系列函数所对于的tag,其实就是”System.out”

以“tag:priority”的形式来对日志输出进行过滤的

优先级priority有以下几种,按照从低到高顺利排列如下:

V — Verbose (lowest priority) 对应于Log.i()系列函数

D — Debug 对应于Log.d()系列函数

I — Info 对应于Log.i()系列函数

W — Warning 对应于Log.w()系列函数

E — Error 对应于Log.e()系列函数

F — Fatal 对应于Log.wtf()系列函数

S — Silent (highest priority, on which nothing s ever printed)

怎样构建一个日志应用:

* 大致思路:

* 1,运用环境命令 logcat -c,清除掉残余的缓存信息。

* 2,调用环境命令 ps,获取到所有的进程信息list,并将其封装到ProcessInfo类里面

* 3,杀掉由本用户调用起的其他logcat进程。(利用用户pid和用户name)

* 4,可以放心的执行logcat -f /storage/sdcard0/ff.log -v time *:E了

注意

1,调用Runtime.getRuntime().exec(“ps”)命令时,会在当前用户下建立一个子进程,返回一个process,新建了该进程就一定要找时候杀死这个进程。

2,在没有root的设备上,该logwriter应用只能写自己发生的日志。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  kernel android