`
jojol_zhou
  • 浏览: 342760 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

Android LogCat使用详解

阅读更多
Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat:


1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志

只需在eclipse中启动Android模拟器,切换到DDMS或debug模式下,就会有Logcat窗口,窗口右上方有一系列图标,其中V、D、I、W、E五个图标为五个调试信息过滤器:

V:不过滤输出所有调试信息 包括 VERBOSE、DEBUG、INFO、WARN、ERROR
D:debug过滤器,输出DEBUG、INFO、WARN、ERROR调试信息
I:info过滤器,输出INFO、WARN、ERROR调试信息
W:waring过滤器,输出WARN和ERROR调试信息
E:error过滤器,只输出ERROR调试信息



2.Android命令模式下,在启动一个模拟器是可以选择是否需要启动logcat:

Android Emulator命令的用法: emulator [options] [-qemu args]
1.Android Emulator命令的用法: emulator [options] [-qemu args]

启动模拟器命令:emulator -avd <name> -logcat <tags>;
name:模拟器名字,tags调试信息过滤器类型
例如:emulator -avd GPhone -logcat w
启动GPhone模拟器并运行logcat显示调试信息,调试信息的过滤器是w(可替换为v、d、i、e),代表只显示waring和error两类调试信息。

2.Android adb 命令:adb logcat [ <filter-spec> ] - View device log
<filter-spec> == <priority>/<tag>,(pritrity标签,tag为过滤类型)
例如:2.1、adb logcat 显示所有调试信息
      2.2、adb logcat *:w 显示waring过滤器过滤后的调试信息
      2.3、adb logcat Test1:V Test2:D 显示标签为Test1的所有调试信息,以及显示标签为Test2Debug过滤器过滤后的调试信息



3.Android程序中访问调试日志,并显示:


摘自:http://www.iteye.com/topic/477112
logcat介绍命令选项。
-s 默认设置过滤器
-f      输出到日志文件
-c 清除日志
-d 获取日志
-g 获取日志的大小
-v      格式设置日志(见下面的格式打印格式)


-v 格式 例
brief W/tag ( 876): message
process W( 876) message (tag)
tag W/tag : message
thread W( 876:0x37c) message
raw message
time 09-08 05:40:26.729 W/tag ( 876): message
threadtime 09-08 05:40:26.729 876 892 W tag : message
long [ 09-08 05:40:26.729 876:0x37c W/tag ] message


代码例子:

AndroidManifest.xml添加读取权限
<uses-permission android:name="android.permission.READ_LOGS" /> 

清除日志
try {  
    Runtime.getRuntime().exec("logcat -c");  
} catch(Exception e) {  

获取日志
try {  
    ArrayList<String> commandLine = new ArrayList<String>();  
    commandLine.add( "logcat");  
    commandLine.add( "-d");  
    commandLine.add( "-v");  
    commandLine.add( "time");  
    commandLine.add( "-s");  
    commandLine.add( "tag:W");  
    Process process = Runtime.getRuntime().exec( commandLine.toArray( new String[commandLine.size()]));  
    BufferedReader bufferedReader = new BufferedReader( new InputStreamReader(process.getInputStream()), 1024);  
    String line = bufferedReader.readLine();  
    while ( line != null) {  
        log.append(line);  
        log.append("\n")  
    }  
   } catch ( IOException e) {  


结果:
09-08 09:44:42.267 W/tag     (  754): message1  
09-08 09:44:42.709 W/tag     (  754): message2  
09-08 09:44:43.187 W/tag     (  754): message3  
09-08 09:44:45.295 E/tag     (  754): message8

分享到:
评论

相关推荐

    Android_LogCat

    Android LogCat使用详解 Android的Logcat用于显示系统的调试信息,可在分别以下几个地方查看和调用logcat: 1.eclipse的Debug模式或DDMS模式下的会有一个Logcat窗口,用于显示log日志 只需在eclipse中启动...

    Android开发笔记之:一分钟学会使用Logcat调试程序的详解

    本篇文章是对Android中Logcat调试程序的使用进行了详细的分析介绍,需要的朋友参考下

    Android adb logcat 命令查看日志详细介绍

    主要介绍了Android adb logcat 命令详细介绍的相关资料,这里对logcat 命令进行了详细介绍,并介绍了过滤日志输出的知识,需要的朋友可以参考下

    Android Intent传递数据大小限制详解

    比如App闪退,或是Intent发送不成功,logcat报错等等。 这就牵涉到一个问题:Intent 传递数据大小限制。 Intent到底能够携带多少数据呢? 使用Intent传送数据时,可能会出现异常 在Intent中传入一个Parcelable...

    Android典型技术模块开发详解

    2.2 HelloAndroid详解 2.2.1 程序结构 2.2.2 代码分析 2.3 权限permission 2.4 LogCat日志调试 2.5 示例练习 2.5.1 登录界面 2.5.2 事件处理 2.6 本章小结 第二篇 Android开发关键组件 第3章 Activity(活动) 3.1 ...

    android开发资料大全

    android开发环境之Logcat(日志)教程实例汇总 android网络通信之socket教程实例汇总 AsyncTask进度条加载网站数据到ListView 命令行开发、编译、打包Android应用程序汇总大全 Android 动画效果二 Frame Animation ...

    android调试工具DDMS的使用详解

    开发人员可以通过DDMS看到目标机器上运行的进程/现成状态,可以 android的屏幕到开发机上,可以看进程的heap信息,可以查看logcat信息,可以查看进程分配内存情况,可以像目标机发送短信以及打电话,可 以像android...

    adb wireless进行Android手机调试详解

    今天电脑usb接口出问题了,就想着可不可以通过wifi连上手机,然后进行eclipse调试,看logcat等等。 网上搜了一下,果然有这种解决方案。 现在分享给各位android小伙伴。 前提:需要你的windows电脑已经安装了android...

    adb 使用详解

    Contents 概要 发出Adb命令 查询模拟器/设备实例 给特定的模拟器/设备实例发送命令 ...使用Logcat命令 过滤日志输出 控制日志输出格式 查看可用日志缓冲区 查看Stdout 和Stderr Logcat命令列表 停止Adb服务

    Android 网络请求框架Volley实例详解

    Android 网络请求框架Volley实例详解 首先上效果图 Logcat日志信息on Reponse Volley特别适合数据量不大但是通信频繁的场景,像文件上传下载不适合! 首先第一步 用到的RequetQueue RequestQueue.Java  ...

Global site tag (gtag.js) - Google Analytics