Android日志系统分析之开篇
来源:互联网 发布:我的吸血鬼男友网络剧 编辑:程序博客网 时间:2024/05/21 09:19
在android系统中, 提供了一个轻量级的日志系统。该日志系统基于在内核中实现的一个字符设备驱动
logger(misc字符设备驱动)。通过该字符设备驱动,android分别提供了C/C++和Java层的日志输出函数接口。
Java接口主要分布在android.util.Log类中。
其中它信赖的JNI层实现文件位于frameworks/base/core/jni/android_util_Log.cpp文件中。
调用路径如下:
android_util_Log_println_native(与Log.java中的本地方法println_native对
应)->__android_log_buf_write(system/core/liblog/logd_write.c)->write_to_log(它是一个
函数指针,初始值设为__write_to_log_init, 之后其值为__write_to_log_kernel)
在__write_to_log_kernel函数中, 将相应的日志信息写入到对应的字符设备中定义的环形缓冲区中。在
C/C++程序中,可以通过__android_log_buf_print(该函数信赖__android_log_buf_write函数)来输出日
志信息,当然我们也可以通过log.h(frameworks/base/include/utils/log.h也即system/core
/include/log.h)中定义的一些宏来输出日志信息。
Android日志系统中信赖的字符设备驱动文件位于kernel/common/drivers/staging/android/logger.h和
kernel/common/drivers/staging/android/logger.c中。
在andriod日志系统中,对日志信息内容进行了分类,主要分为三类:1.radio-related信息。 2.系统/硬件事
件信息。 3.除上述二类的其他任何信息。在驱动中分别创建了三个不同的字符设备与它们相对应:
此外, android系统中还提供了一个称为logcat的命令来作为一种调试辅助工具,其实现为系统中的一个命令,也是依赖于底层定
义的设备驱动。
- Android日志系统分析之开篇
- Android日志系统分析之日志设备驱动程序代码阅读
- Android入门之开篇
- linux文件系统的系统分析--开篇
- 开篇日志
- 开篇日志~~
- 自己动手做博客之日志管理-1.1 系统分析
- Android开发---俄罗斯方块之开篇
- Android日记之开篇词
- 学习android之开篇谈
- Android内存泄露之开篇
- android移动端之开篇
- Android内存泄露之开篇
- Android学习能力之开篇
- Android底层学习之开篇
- Android开篇之Toast小试牛刀
- Android稳定性专题之开篇
- Android 编译系统分析之返璞归真(一)
- 北京赛区网选 J Tourism Planning(状态压缩DP或最大权闭合图)
- 依赖注入三种方式
- Android开发环境搭建指南
- Request、Request.QueryString、Request.Form与Request.Params
- 1000!末尾 有几个0
- Android日志系统分析之开篇
- C++
- 实现自定义view(2):仿Android QQ多屏幕显示ListView的效果
- 充满了担心和忧虑
- Javascript常用整理
- C++ - C++ signal的使用
- Delphi Enter实现与Tab一样的功能
- return、exit
- 软考路上