保存android程序崩溃日志到SD卡
- - CSDN博客推荐文章作者:pmtoam 发表于2014-6-26 9:29:11 原文链接. 阅读:6 评论:0 查看评论.
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(); }