logd的启动过程和内容

描述

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

/**

  • Send a {@link #DEBUG} log message.
  • @param tag Used to identify the source of a log message. It usually identifies
  • the class or activity where the log call occurs.
    
  • @param msg The message you would like logged.
  • @return A positive value if the message was loggable (see {@link #isLoggable}).

*/

public static int d(@Nullable String tag, @NonNull String msg) {

return println_native(LOG_ID_MAIN, DEBUG, tag, msg);

}

日志

日志

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分