如何获取Android 的系统日志logcat

 我来答
匿名用户
2017-04-15
展开全部
  您好,很高兴为您解答。   读取日志需要的权限   1   <uses-permission android:name="android.permission.READ_LOGS"/>   主要代码     package mt.fzgh;      import java.io.BufferedReader;   import java.io.InputStreamReader;   import java.util.ArrayList;      public class MyLog   {   public static class MLog //静态类   {   public static void getLog()   {   System.out.println("--------func start--------"); // 方法启动   try   {   ArrayList<String> cmdLine=new ArrayList<String>(); //设置命令 logcat -d 读取日志   cmdLine.add("logcat");   cmdLine.add("-d");      ArrayList<String> clearLog=new ArrayList<String>(); //设置命令 logcat -c 清除日志   clearLog.add("logcat");   clearLog.add("-c");      Process process=Runtime.getRuntime().exec(cmdLine.toArray(new String[cmdLine.size()])); //捕获日志   BufferedReader bufferedReader=new BufferedReader(new InputStreamReader(process.getInputStream())); //将捕获内容转换为BufferedReader         // Runtime.runFinalizersOnExit(true);   String str=null;   while((str=bufferedReader.readLine())!=null) //开始读取日志,每次读取一行   {   Runtime.getRuntime().exec(clearLog.toArray(new String[clearLog.size()])); //清理日志....这里至关重要,不清理的话,任何操作都将产生新的日志,代码进入死循环,直到bufferreader满   System.out.println(str); //输出,在logcat中查看效果,也可以是其他操作,比如发送给服务器..   }   if(str==null)   {   System.out.println("-- is null --");   }   }   catch(Exception e)   {   e.printStackTrace();   }   System.out.println("--------func end--------");   }   }   }   这里比较令人纠结的一点就是日志的清理 logcat -c 如果不加入 清理 在buffer满为止,代码自身能够迭代6~7次....   附带一份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
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式