保存android程序崩溃日志到SD卡

分享到:
private boolean writeToSDCard(Throwable ex)
{
boolean isDealing = false;
if (Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED))
{
RandomAccessFile randomAccessFile = null;
try
{
String fileName = SDCARDROOT + File.separator + "logs" + File.separator + "crash" + File.separator;
File file = new File(fileName);
if(!file.exists())
file.mkdirs();
randomAccessFile = new RandomAccessFile(fileName + paserTime(System.currentTimeMillis())+ ".log", "rw");
long fileLength = randomAccessFile.length();
randomAccessFile.seek(fileLength);
randomAccessFile.writeBytes(getThrowableInfo(ex));
}
catch (IOException e)
{
e.printStackTrace();
}
finally
{
if (randomAccessFile != null)
{
try
{
randomAccessFile.close();
isDealing = true;
}
catch (IOException e)
{
e.printStackTrace();
}
}
}
}
return isDealing;
} 

private static String getThrowableInfo(Throwable ex)
{
StringWriter stringWriter = new StringWriter();
PrintWriter printWriter = new PrintWriter(stringWriter);
ex.printStackTrace(printWriter);
return stringWriter.toString();
}  
昵    称:
验证码:

相关文档: