这是一个介绍 Android 平台日志系统的系列文章:
- Android 平台日志系统整体框架
- logd 守护进程初始化过程
- 客户端写日志过程分析
- logd 写日志过程分析一
- logd 写日志过程分析二
- logd 读日志过程分析(本文)
本文基于 AOSP android-10.0.0_r41 版本讲解
LogReader 初始化
在 logd 的 main 函数中初始化了一个 LogReader 对象:
// system/core/logd/main.cpp
int main(int argc, char* argv[]) {
// ...
// LogReader listens on /dev/socket/logdr. When a client
// connects, log entries in the LogBuffer are written to the client.
LogReader* reader = new LogReader(logBuf);
if (reader->startListener()) {
exit(1);
}
// ...
}