瑞芯微Rockchip开发者社区
直播中

技术牛人小渣子

13年用户 804经验值
私信 关注
[问答]

logcat如何查看Andriod log系统日志?

logcat会输出系统哪些信息呢?如何学习logcat命令?
logcat如何查看Andriod log系统日志?
如何查看Andriod log系统日志?

回帖(1)

梁云

2022-3-3 10:35:44
1、dlt-rk3288开源硬件学习笔记-logcat命令学习

2、logcat 命令学习

3、logcat 查看Andriod log系统日志

4、查看Andriod log系统日志



软件开发中,查看系统Log是必不可少。
我们知道Linux 内核用printk输出的调试信息,在串口终端上可以看到。但Android 系统调试信息呢?
Android 系统庞大,系统日志太多。不能像内核 一样直接输出到串口,需要用logcat命令来查看。
基本原理是:Android系统先把日志放到缓存(循环缓存)。当用户输入logcat时,再把缓存中的日志输出到串口。
                    不然不仅看花眼,还影响开机速度、运行速度。

locat 是一个命令,可以在adb shell上运行,也可以在调试串口控制台运行。
(DLT-RK3288默认调试串口是UART2。DLT-RK3288 为了方便调试方便,板子上加了CH340 ,将串口接口转为USB接口。这是这 款产品一个亮点。省了USB转串口线了,普通的android数据线即可以用。



logcat 会输出系统哪些信息呢?
系统源码中所有被运行的 Log.*、Slog函数,其信息用用logcat都能看到。例如:



  • Log.w(TAG, "Unable to retrieve font size");


复制代码

每一个输出的Android日志信息都有一个标签和它的优先级.

如何使用logcat ?
详细使用方法可以用logcat  --help 查看



大概意思:
-b 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers.
-c 清楚屏幕上的日志.
-d 输出日志到屏幕上.
-f 指定输出日志信息的  .
-g 输出指定的日志缓冲区,输出后退出.
-n 设置日志的最大数目 .,默认值是4,需要和 -r 选项一起使用。
-r 时输出日志,默认值为16,需要和-f 选项一起使用.
-s 设置默认的过滤级别为silent.
-v 设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output Format。

logcat 使用方法太多,这里只介绍几条常用、入门级的方法
1、查看Android所有的log
串口命令行下敲入logcat命令。如果不想再看log,按CTL+C组合按键结束。

每一个输出的Android日志信息都有一个标签和它的优先级。
DLT-RK3288 Android 5.1 输出格式为:优先级/标签
上图的 V、D、I就是优先级,PhoneWindowManager和PowerManagerService 是两个不同的Tag。
优先级有:debug、必要信息、警告、错误等信息。
V    Verbose
  D    Debug
  I    Info
  W    Warn
  E    Error
  F    Fatal
  S    Silent (supress all output)
对应源码中的函数:Log.v 、Log.d 、Log.i 、Log.w 、Log.e。(或SLog.*) 。
Tag 可以自己定义,一般文件名一样,方便源码位置的查找。
如PhoneWindowManager对应的 frameworks/base/policy/src/com/android/internal/policy/impl/PhoneWindowManager.java 源码里面的。

2、logcat -c 清除已有log
logcat -c 命令执行之前的log将被清除。

3、logcat -b 查看部分log
例如:我们调试3G/4G模块时常用 logcat -b raido 查看ril的log。
类似的还有 logcat -b main 、logcat -b events等。

4、logcat -v time 输出log执行时的时间。
例如:logcat -v time  -b radio
转存失败重新上传取消

5、logcat -f  保存log到指定的文件。
例如 logcat -b radio -f /data/radio.log

6、logcat & 后台运行logcat
logcat 和常用linux命令没什么区别,加&可以让它在后台运行。这样既可以看log,又可以敲其他shell命令。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分