![](https://img-blog.csdnimg.cn/20201014180756757.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android log机制
文章平均质量分 85
kc专栏
深入探索android Framework层代码,博客持续更新中!!!
展开
-
android 6.0 logcat机制(三)logd处理请求log
一、logd LogReader监听logdr socket在logd的main函数中会有一个监听logdr socket的LogReader类我们来看下main函数的源码 LogReader *reader = new LogReader(logBuf); if (reader->startListener()) { exit(1); }再来原创 2016-04-06 19:39:04 · 8732 阅读 · 0 评论 -
android 6.0 logcat机制(二)logcat从logd中获取log保存到文件中
一、设置保存log文件的路径在手机刚开机的时候,会有类似如下命令执行/system/bin/logcat -r 5120 -v threadtime -v usec -v printable -n 5 -f /data/local/log/logcat.log/system/bin/logcat -r 5120 -v threadtime -v usec -v printabl原创 2016-04-06 18:45:56 · 14265 阅读 · 6 评论 -
android 6.0 logcat机制(一)java层写log,logd接受log
一、logcat常用命令 logcat -c 清除已有log信息 logcat -b main 显示主缓冲区的log logcat -b radio 显示无线缓冲区的log logcat -b events 显示事件缓冲区的log logcat -f [filename] 将log保存到指定的文件中,例如logcat -b radio -f /data/rad原创 2016-04-06 15:26:39 · 9734 阅读 · 0 评论 -
使用logcat命令增加logd白名单 黑名单
logd的白名单和黑名单我们在之前的logd中分析过了,这里的白名单和黑名单只是在logd丢失log时使用。logd丢失log会先删除黑名单的log,然后删除普通log。最后还不够的话再删除白名单的log。这个命令对调试还是很有用 但本质原因还是cpu调度不够 加上log太多导致丢失。命令使用我们先看下logcat的help,注意下面-p(小写)代表获取白名单和黑名单,而-P(大写原创 2017-03-02 10:34:34 · 3795 阅读 · 0 评论 -
android log丢失(一)使用logd丢失log原理
之前我们分析过关于android log机制,在这里我们再详细说下,log丢失的原理。一、统计loglogd监听了logdw的socket来保存从log打印函数通过logdw socket传过来的log,最后会调用LogBuffer::log函数,在log函数最后会调用如下两个函数。 stats.add(elem); maybePrune(log_id);这里的lo原创 2016-05-26 16:18:39 · 25008 阅读 · 3 评论 -
android log丢失(二)使用and4.4log kernel机制
在之前一篇博客我们是分析了logd丢失的原因,而且从增大logd缓冲区大小,以及增加白名单的方式临时解决调试问题。这里我们就如何回到android4.4的log机制来分析。当然还有一种方式,在android4.4的时候是不使用logd的机制的。使用的是往内存文件系统里面写log,写入dev/log/main dev/log/radio等log。我们可以改回之前的模式。需要打几个补原创 2017-05-16 14:17:03 · 1748 阅读 · 0 评论 -
android log丢失(三)动态切换logd机制和kernel机制
之前我们分析了如何修改版本使log机制变成kernel的log机制。这篇博客我们继续修改可以动态切换,这样方便平时log丢失时调试。 我们先来看liblog库的编译mk文件,这个文件中主要修改了对使用使用logd 使用不同文件进行编译这块做了修改,增加了log_write_common.c 和log_read_common.c两个通用文件。## Copyright (C) 2008...原创 2019-01-22 15:09:42 · 3450 阅读 · 1 评论 -
logging.h提供的功能
这篇博客我们来分析logging.h提供的功能,引用这个文件可以#include <android-base/logging.h>,而这个文件在logging.cpp中实现。首先我们来看下其注释:提供了一个c++ stream的接口,而且PLOG会打印出具体的错误,还支持logcat,stderr,dmesg的打印。//// Google-style C++ logging...原创 2019-01-22 15:11:08 · 7078 阅读 · 0 评论 -
android log各个文件整理
这篇博客我们罗列下各个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. uti...原创 2019-01-22 15:11:19 · 2998 阅读 · 0 评论