概述
这篇博客我们罗列下各个log日志的头文件的使用。
java层:
1.android.util.Log;
2.android.util.Slog;
3.android.util.Rlog
最后通过了native调用了__android_log_buf_write函数,这个函数是通过了log/log.h(就是liblog)的头文件中引用的log_id.h文件的函数。
c层:
1. utils/Log.h 仅仅是引用了log/log.h
2. cutils/log.h 仅仅是引用了log/log.h
3. log/log.h liblog库的头文件
像我们一些宏定义SLOGD、ALOGD、RLOGD都是在log_system.h、log_main.h、log_radio.h中定义,这些头文件都是在log/log.h中会被引用,因此我们只需要引用log/log.h就可以使用这些宏了。
4. android-base/logging.h 可以设置kernel、logcat、stderr的log,并且使用c++的stream打印方式。(之前的博客有介绍)
5. android/log.h NDK的头文件
6. cutils/klog.h 打印到kernel的log(在libcutils/klog.cpp实现,还是写到/dev/kmsg方式)
java层毫无疑问都是通过上面的方式打印的。
c层像adbd、init、vold这些进程现在都使用 android-base/logging.h打印log的方式
healthd使用是cutils/klog.h方式
像SurfaceFlinger中使用的是ALOGE的方式也就是引用的log/log.h
像一些framework的hal也是使用的ALOGD这种方式。
最后
以上就是复杂香水为你收集整理的android log各个文件整理的全部内容,希望文章能够帮你解决android log各个文件整理所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复