android程序在logcat没日志输出解决方案.doc

上传人:F****n 文档编号:90913623 上传时间:2019-06-20 格式:DOCX 页数:15 大小:27.20KB
返回 下载 相关 举报
android程序在logcat没日志输出解决方案.doc_第1页
第1页 / 共15页
android程序在logcat没日志输出解决方案.doc_第2页
第2页 / 共15页
android程序在logcat没日志输出解决方案.doc_第3页
第3页 / 共15页
android程序在logcat没日志输出解决方案.doc_第4页
第4页 / 共15页
android程序在logcat没日志输出解决方案.doc_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《android程序在logcat没日志输出解决方案.doc》由会员分享,可在线阅读,更多相关《android程序在logcat没日志输出解决方案.doc(15页珍藏版)》请在金锄头文库上搜索。

1、android程序在logcat没日志输出解决方案篇一:Android_LogCat使用详解Android LogCat使用详解Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat:的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志只需在eclipse中启动Android模拟器,切换到DDMS或debug模式下,就会有Logcat窗口,窗口右上方有一系列图标,其中V、D、I、W、E五个图标为五个调试信息过滤器:V:不过滤输出所有调试信息 包括 VERBOSE、DEBUG、INFO、WARN、ERROR D:debug过滤器,

2、输出DEBUG、INFO、WARN、ERROR调试信息 I:info过滤器,输出INFO、WARN、ERROR调试信息W:waring过滤器,输出WARN和ERROR调试信息E:error过滤器,只输出ERROR调试信息命令模式下,在启动一个模拟器是可以选择是否需要启动logcat:Android Emulator命令的用法: emulator options -qemu args Emulator命令的用法: emulator options -qemu args启动模拟器命令:emulator -avd -logcat ;name:模拟器名字,tags调试信息过滤器类型例如:emulato

3、r -avd GPhone -logcat w启动GPhone模拟器并运行logcat显示调试信息,调试信息的过滤器是w(可替换为v、d、i、e),代表只显示waring和error两类调试信息。 adb 命令:adb logcat - View device log =/,例如:、adb logcat 显示所有调试信息、adb logcat *:w 显示waring过滤器过滤后的调试信息、adb logcat Test1:V Test2:D 显示标签为Test1的所有调试信息,以及显示标签为Test2Debug过滤器过滤后的调试信息程序中访问调试日志,并显示:logcat介绍命令选项。-s

4、默认设置过滤器-f 输出到日志文件-c 清除日志-d 获取日志-g 获取日志的大小-v 格式设置日志(见下面的格式打印格式)-v 格式 例brief W/tag : messageprocess W messagetag W/tag : messagethread W messageraw messagetime 09-08 05:40: W/tag : messagethreadtime 09-08 05:40: 876 892 W tag : messagelong 09-08 05:40: 876:0x37c W/tag message代码例子:添加读取权限清除日志try .exec;

5、catch 获取日志try ArrayList mandLine = new ArrayList ;Process process = .exec);BufferedReader bufferedReader = new BufferedReader, 1024);String line = ;while new new; catch 结果:09-08 09:44: W/tag : message109-08 09:44: W/tag : message209-08 09:44: W/tag : message309-08 09:44: E/tag : message8其他:adb logca

6、t -b radio d: 音频视频或者网络语音相关的log一般都需要这个 adb logcat -v time 定位bug出现的时间dumpsys meminfo 包名 查看包的内存占用情况篇二:Android学习笔记18_调试程序LogCat程序调试LogcatAndroid的Logcat用于显示系统的调试信息,e只需在eclipse中启动Android模拟器,切换到DDMS或debug模式下,就会有Logcat窗口,窗口右上方有一系列图标,其中V、D、I、W、E五个图标为五个调试信息过滤器:V Verbose 详细 不过滤输出所有调试信息 包括 VERBOSE、DEBUG、INFO、WA

7、RN、ERRORD Debug 调试 输出DEBUG、INFO、WARN、ERROR调试信息I Info 信息 输出INFO、WARN、ERROR调试信息W Warning 警告 输出WARN和ERROR调试信息E Error 错误 只输出ERROR调试信息在Eclipse中安装过ADT之后,在Window Show View 窗口里可以看到Andorid选项卡,在其中会有很多Android开发所用到的工具,今天我们介绍的主角LogCat就在其中。选择后点 OK,LogCat就可以加入到我们的显示界面中。LogCat工具加入后的效果如下图所示:待运行程序后可以看到有日志信息打印出来。1、其中的

8、一项叫做tag,是用来表明是哪个对象输出的信息。2、pid前面的单个字母表示的输出信息的重要程度,从V到E,重要程度不断提升,从V到E颜色也是从黑色到红色不断醒目。点击工具栏上的5个彩色字母,就相当于在Log4j中更改配置文件,显示哪些信息。3、绿色的加号表示可以增加自定义的日志过滤器,我们可以自定义日志过滤。下图就是我定义的Tag是“Lesson4_”的输出日志,明显可以看到信息通过过滤后,非常容易辨识和查找问题。Log类是用于log输出。一般有五种方法:级别是VERBOSE最低,ERROR最高 VERBOSE DEBUG INFO WARN ERROR好的习惯是生命一个TAG常量在你的类中

9、private static final String TAG = MyActivity;然后调用(TAG,”message”);输出日志信息。篇三:Android日志系统Logcat源代码简要分析在前面两篇文章Android日志系统驱动程序Logger源代码分析和Android应用程序框架层和系统运行库层日志系统源代码中,介绍了Android内核空间层、系统运行库层和应用程序框架层日志系统相关的源代码,其中,后一篇文章着重介绍了日志的写入操作。为了描述完整性,这篇文章着重介绍日志的读取操作,这就是我们在开发Android应用程序时,经常要用到日志查看工具Logcat了。Logcat工具内置在

10、Android系统中,可以在主机上通过adb logcat命令来查看模拟机上日志信息。Logcat工具的用法很丰富,因此,源代码也比较多,本文并不打算完整地介绍整个Logcat工具的源代码,主要是介绍Logcat读取日志的主线,即从打开日志设备文件到读取日志设备文件的日志记录到输出日志记录的主要过程,希望能起到一个抛砖引玉的作用。Logcat工具源代码位于system/core/logcat目录下,只有一个源代码文件,编译后生成的可执行文件位于out/target/product/generic/system/bin目录下,在模拟机中,可以在/system/bin目录下看到logcat工具。下

11、面我们就分段来阅读源代码文件。一. Logcat工具的相关数据结构。这些数据结构是用来保存从日志设备文件读出来的日志记录:view plain 1. struct queued_entry_t 2. union char bufLOGGER_ENTRY_MAX_LEN + 1 _attribute_); logger_entry entry _attribute_);5. ;6. queued_entry_t* next;7.8. queued_entry_t = NULL;10. 11. ;12.13. struct log_device_t 14. char* device;15. boo

12、l binary;16. int fd;17. bool printed;18. char label;19.20. queued_entry_t* queue;21. log_device_t* next;22.23. log_device_thar l) = d; = b; = l; = NULL; = NULL; = false;30. 31.32. void enqueue 34. this-queue = entry;35. else 36. queued_entry_t* e = &this-queue;37. while = 0) 38. e = &-next);39. 40.

13、entry-next = *e;41. *e = entry;42.43. 44. ;其中,宏LOGGER_ENTRY_MAX_LEN和struct logger_entry定义在system/core/include/cutils/文件中,在Android应用程序框架层和系统运行库层日志系统源代码分析一文有提到,为了方便描述,这里列出这个宏和结构体的定义:view plain1. struct logger_entry 2. _u16 len; /* length of the payload */3. _u16 _pad; /* no matter what, we get 2 bytes

14、 of padding */4. _s32 pid; /* generating processs pid */5. _s32 tid; /* generating processs tid */6. _s32 sec; /* seconds since Epoch */7. _s32 nsec;/* nanoseconds */8. char msg0; /* the entrys payload */9. ;10.11. #define LOGGER_ENTRY_MAX_LEN从结构体struct queued_entry_t和struct log_device_t的定义可以看出,每一个log_device

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 事务文书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号