logd作为native service,系统启动过程通过读取rc文件来启动,相关的属性定义在如下logd.rc文件中。
2.2.1 logd启动过程
logd启动后会存在三个用来服务日志系统的socket:分别是
/dev/socket/logd、/dev/socket/logdr、/dev/socket/logdw。
2.2.2 日志打印buffer缓冲区
如下代码中的参数LOG_ID_MAIN:代表buffer缓冲区,DEBUG:代表日志级别。java层调用和native层调用存在轻微差异,很容易进行辨别。native的级别和buffer比较全面,大家可以通过源码参考下。具体的日志buffer缓冲区及日志等级,见下图所示。
/XXX/frameworks/base/core/java/android/util/Log.java
/**
the class or activity where the log call occurs.
*/
public static int d(@Nullable String tag, @NonNull String msg) {
return println_native(LOG_ID_MAIN, DEBUG, tag, msg);
}
全部0条评论
快来发表一下你的评论吧 !