1. device mk脚本中添加logcatd默认配置
PRODUCT_DEFAULT_PROPERTY_OVERRUDES += \
persist.logd.logpersisted=logcatd \
persist.logd.logpersisted.size=40 \
persist.logd.logpersisted.buffer=main,system,crash
配置使用logcatd服务保存日志,最多保存40+1个文件,同时抓取main,system,crash缓冲区的数据至文件。
2. system/core/logcat/Android.mk中修改eng版本也编译logcatd
-LOCAL_MODULE_TAGS := debug
+#LOCAL_MODULE_TAGS := debug
3. system/core/logcat/logcat.cpp日志文件创建时新增log组用户可以读
- return open(pathname, O_WRONLY | O_APPEND | O_CREAT, S_IRUSR | S_IWUSR);
+ return open(pathname, O_WRONLY | O_APPEND | O_CREAT, S_IRUSR | S_IWUSR | S_IRGRP);
4. system/core/logcat/logcatd.rc
- mkdir /data/misc/logd 0700 logd log
+ mkdir /data/misc/logd 0770 logd log
5. system/core/logcat/logcat_main.cpp
+#include
+#include
int main(int argc, char** argv, char** envp) {
+ umask(007);//修改用户组文件默认权限
android_logcat_context ctx = create_android_logcat();