我想从LogCat保存一些数据,但我不需要所有日志,我只需要从我的自定义标签登录,如果可能从dalvikvm登录,以GC_FOR_ALLOC开头
我已经设法使用以下方法保存Logcat数据:
Process process = Runtime.getRuntime().exec(shell);
//Process process = Runtime.getRuntime().exec(new String[]{"logcat", "-d", "", "CustomTag", "*:S"});
InputStream inputStream = process.getInputStream();
boolean sdCardExist = Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED);
File dir = null;
if (sdCardExist)
{
dir = new File(_dm.getFilePath("log.txt"));
if (!dir.exists())
{
dir.createNewFile();
}
}
byte[] buffer = new byte[1024];
int bytesLeft = 5 * 1024 * 1024; // Or whatever
try
{
FileOutputStream fos = new FileOutputStream(dir);
try
{
while (bytesLeft > 0)
{
int read = inputStream.read(buffer, 0, Math.min(bytesLeft,
buffer.length));
if (read == -1)
{
throw new EOFException("Unexpected end of data");
}
fos.write(buffer, 0, read);
bytesLeft -= read;
}
} finally
{
fos.close();
}
} finally
{
inputStream.close();
}
// String logcat = convertStreamToString(inputStream);
// outputFile2SdTest(logcat, "logwyx.txt");
Log.v(TAG, "LOGCAT = ok" );
} catch (IOException e)
{
e.printStackTrace();
}
但我无法保存仅从CustomTAG中保存日志。 我怎样才能做到这一点 ? 谢谢大家