1、$ logcat -v time | grep -Ei “[VDIWE]/A|B” | tee /sdcard/111.log,保存满足此条件"[VDIWE]/A|B"日志到文件
2、$ logcat -v time | grep -Evi “[VDIWE]/C|D” | tee /sdcard/111.log,除此条件"[VDIWE]/C|D"外的其他日志,保存到文件中
另外Android下通过如下两种调用方法也是可以成功过滤并保存文件
ArrayList<String> commandLine = new ArrayList<String>();
commandLine.add("logcat");
commandLine.add("-v");
commandLine.add("time");
commandLine.add("-f");
commandLine.add(filePath);
commandLine.add("|");
commandLine.add("grep");
commandLine.add("-Evi");
commandLine.add("\"");
commandLine.add("[VDIWE]/");
commandLine.add(pattern);
commandLine.add("\"");
String cmd = "logcat -v time -f "+ filePath + " | grep -Evi \"[VDIWE]/" + pattern + "\"";
Log.d(THIS_FILE, "Lindroid logcatToSDcard commandLine :" + cmd);
try {
Runtime.getRuntime().exec(commandLine.toArray(new String[0]));
// Runtime.getRuntime().exec(cmd);//Success
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}