Android中的LogCat程序化过滤

时间:2013-06-13 18:52:35

标签: android logcat

我想创建一个logcat数据的arraylist,如下所示:时间级别标签文本..... 示例:

06-13 13:34:43:434 W myApp blehblehbleh

如何过滤logcat以获得此结果?更确切地说,进入.exec(“”)部分以获取这些值是因为“logcat -d”似乎可以获得所有内容。

    log = new ArrayList<String>();
    try {
        process = Runtime.getRuntime().exec("logcat -d");
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    bufferedReader = new BufferedReader(new InputStreamReader(process.getInputStream()));
    try {

        while ((line = bufferedReader.readLine()) != null){
            log.add(line);

     }

2 个答案:

答案 0 :(得分:2)

这将打印YOUR_TAG_HERE中的所有日志,并将过滤掉其余日志:

logcat -d YOUR_TAG_HERE:V *:S

答案 1 :(得分:0)

你可以简单地做一个

if (line.contains("myApp")) log.add(line);
在您的循环中

仅添加应用中的行。在您当前的设置中,这似乎是最快捷的方式。