【用法总结】抓取main_log、events_log、kernel_log日志的方法

48 阅读1分钟

    做应用开发大部分时候都基础的logcat日志,其实android系统本身提供的不仅有logcat日志,还有events、kernel日志。

Android 底层有几个“log buffer”(缓冲区):

  • main:普通应用/系统日志(默认)
  • system:系统组件日志
  • events:事件日志(EventLog)
  • radio:通信相关
  • 还有 crash 等(新版本)

logcat 本质是从这些 buffer 里读数据的一个工具。 命令如下:

logcat            # 默认从 main + system + crash 等读取
logcat -b main    # 只看 main buffer
logcat -b events  # 只看 events buffer

抓取main.log日志

adb logcat -b main -v time > events.txt

示例: main.log截图示例 通过main.log日志就能分析日常应用的问题,或者framework层的问题。

抓取events日志的方法:

adb logcat -b events -v time > events.txt

示例: events.log示例 通过events.log 事件日志,能分析页面的启动,各种生命周期,应用进程的启动、kill过程等,平时分析anr、进程无故退出、等锁等问题需要用到events日志的。

抓取kernel日志的方法:

# 实时显示内核打印信息并保存到android_kmsg.log文件中
adb shell cat /proc/kmsg |tee android_kmsg.log

示例: 在这里插入图片描述在这里插入图片描述

kernel日志,可以跟踪开机过程一些关键阶段,或者类似于比较底层的低内存查杀日志,比如:lowmemorykiller过程等。