android logging 机制及优化
来源:互联网 发布:vb自动处理网页弹框 编辑:程序博客网 时间:2024/06/05 18:31
基于android 5.0分析
- 用户空间 Java:
frameworks/base/core/java/android/util/Log.java
- 用户空间native
http://androidxref.com/5.0.0_r2/xref/frameworks/base/core/jni/android_util_Log.cppandroid_util_Log_println_native -> __android_log_buf_write -> write_to_log(in liblog.so)
- liblog.so
http://androidxref.com/5.0.0_r2/xref/system/core/liblog/ALOG -> LOG_PRI ->android_printLog -> __android_log_print ->__android_log_write -> write_to_log [ __write_to_log_init | __write_to_log_kernel | __write_to_log_null]__write_to_log_kernel -> writevliblog.so有两种模式:使用logd和不使用logd,在 Android.mk中控制:http://androidxref.com/5.0.0_r2/xref/system/core/liblog/Android.mk使用logd时,log的读写通过socket_local_client与logd交互,logd负责log的管理维护。不使用logd时,log的读写通过fd读写系统设备/dev/log/.... 实现。
- logd
create local socket and listen on "/dev/socket/logdr" for log reading.create local socket and listen on "/dev/socket/logdw" for log writing.
- device
drivers\staging\android\Logger.chttp://androidxref.com/kernel_2.6.39/xref/drivers/staging/android/logger.c#logger_init -> init_log -> misc_register()
创建设备文件/dev/log/main, /dev/log/system, /dev/log/radio, /dev/log/events
logger_read/logger_aio_write/logger_open/logger_ioctl/....http://blog.csdn.net/luoshengyang/article/details/6595744
- logcat
source code:http://androidxref.com/5.0.0_r2/xref/system/core/logcat/logcat.cppandroid_logger_open / android_logger_list_read, The functions are implemented in liblog.so.
- log格式优化
使用android.util.Log相应函数输出的log格式如下:
V/AwesomePlayer( 2346): cancelPlayerEvents (keepNotifications=0)
仅包含log等级,log tag,processid, log message. 为了便于程序执行流程跟踪、问题调试,在。。。提供了一种更详细的log格式,示例如下:
D/JobTest::Java::TestService(22952): 2015/09/07 17:14:29.378000 GMT+08:00 1 [DEBUG] [com.test.polltest1.service.TestService] Start Job (Android)
添加log发生的timestamp, log发生的线程号,log发生的类。
- 用户空间 Java:
frameworks/base/core/java/android/util/Log.java
- 用户空间native
http://androidxref.com/5.0.0_r2/xref/frameworks/base/core/jni/android_util_Log.cppandroid_util_Log_println_native -> __android_log_buf_write -> write_to_log(in liblog.so)
- liblog.so
http://androidxref.com/5.0.0_r2/xref/system/core/liblog/ALOG -> LOG_PRI ->android_printLog -> __android_log_print ->__android_log_write -> write_to_log [ __write_to_log_init | __write_to_log_kernel | __write_to_log_null]__write_to_log_kernel -> writevliblog.so有两种模式:使用logd和不使用logd,在 Android.mk中控制:http://androidxref.com/5.0.0_r2/xref/system/core/liblog/Android.mk使用logd时,log的读写通过socket_local_client与logd交互,logd负责log的管理维护。不使用logd时,log的读写通过fd读写系统设备/dev/log/.... 实现。
- logd
create local socket and listen on "/dev/socket/logdr" for log reading.create local socket and listen on "/dev/socket/logdw" for log writing.
- device
drivers\staging\android\Logger.chttp://androidxref.com/kernel_2.6.39/xref/drivers/staging/android/logger.c#logger_init -> init_log -> misc_register()
创建设备文件/dev/log/main, /dev/log/system, /dev/log/radio, /dev/log/events
logger_read/logger_aio_write/logger_open/logger_ioctl/....http://blog.csdn.net/luoshengyang/article/details/6595744
- logcat
source code:http://androidxref.com/5.0.0_r2/xref/system/core/logcat/logcat.cppandroid_logger_open / android_logger_list_read, The functions are implemented in liblog.so.
- log格式优化
使用android.util.Log相应函数输出的log格式如下:
V/AwesomePlayer( 2346): cancelPlayerEvents (keepNotifications=0)
仅包含log等级,log tag,processid, log message. 为了便于程序执行流程跟踪、问题调试,在。。。提供了一种更详细的log格式,示例如下:
D/JobTest::Java::TestService(22952): 2015/09/07 17:14:29.378000 GMT+08:00 1 [DEBUG] [com.test.polltest1.service.TestService] Start Job (Android)
添加log发生的timestamp, log发生的线程号,log发生的类。
0 0
- android logging 机制及优化
- Android内存优化及内存机制学习
- android垃圾回收机制及程序优化System.gc
- android垃圾回收机制及程序优化System.gc
- android垃圾回收机制及程序优化System.gc
- android垃圾回收机制及程序优化System.gc
- android垃圾回收机制及程序优化System.gc
- android垃圾回收机制及程序优化System.gc
- android垃圾回收机制及程序优化System.gc
- Android Studio 调试机制及性能优化工具使用
- Android 优化二 Java内存分配机制及内存泄漏
- MySQL锁机制及优化
- 正确地启用 Logging 机制
- Android性能优化--listview 优化机制
- Android性能优化--listview 优化机制
- (4.4.1.8) android垃圾回收机制及程序优化System.gc
- android - ListView优化机制及滑动时数据时出现的数据错乱重复问题
- common-logging+log4j实现机制
- uva 11294 - Wedding(2 sat)
- java基础—7.多线程
- 制作easyui部门选择插件
- 构造,析构与初始化列表
- ios8绘图方法小记touchesBegan&touchesMoved
- android logging 机制及优化
- react-native试玩(11)-模态
- 零基础学python-12.1 while循环
- 主成分分析(PCA)——以2维图像为例
- android之线性布局,相对布局属性总结
- 练习题
- MPLS基本技术介绍
- POJ1007 解题报告
- 百度富文本编辑器ueditor使用