Android 日志保存到本地---CscSDK
来源:互联网 发布:金凯度 知乎 编辑:程序博客网 时间:2024/04/28 16:05
在Android开发过程当中,总是需要测试人员来帮我们测试BUG。他们不可能安装Android studio,来给我们收集日志。那么就需要我们把日志记录到我们的Android设备当中。
本文我们先写将普通日志记录到设备的内存当中。
因为内存有限,我们不可能将所有的日志都保存下来,那么该怎么保存呢?2种思路,一种是按天来存,保存当前时间前多少天的日志,另一种是指定一共存放多少个文件的日志。
然后规定每个文件最大存放多少M的日志。
本文我就用第二种方式来实现日志存放功能。
结合Android数据记录到文件中,Android日志类----CscSDK,这两篇文章我们把日志打印到本地文件中。
我说一下大致思路,代码就看我写的demo吧。
1.首先每次日志都记录到编号为0的文件,
2.在日志记录完之后,判断文件的大小是否大于自定义的文件大小,比如每个日志文件最大为2M。
3.当文件大小大于2M时,将已经存在的日志文件依次重命名,从编号最大的文件开始重命名,每个文件编号依次加一。
4.当最大的文件编号等于我们所规定的最多存放日志文件数量时,将最后一个文件直接删除。
5.然后重复循环1.2.3.4.
public static void save(String string){ // 日期 时间: 级别 String time = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS", Locale.CHINA).format(Long.valueOf(System.currentTimeMillis())); FileOutputStream fos=null; dirFile = createDir(fileDirPath); if (null== dirFile){ Log.e(TAG,"日志文件夹没有创建成功"); return; } Log.i(TAG,"filepath="+filePath); filePath = fileDirPath + File.separator+START_COUNT+LOG_FILE_TXT_NAME; File file = createFile(filePath); if (null==file){ Log.e(TAG,"日志文件没有创建成功"); return; } try { fos= new FileOutputStream(filePath,true); byte[] bytes=(time+"/"+string+"\n").getBytes(); fos.write(bytes); } catch (IOException e) { e.printStackTrace(); } finally { try { if (fos!=null) { fos.close(); } } catch (IOException e) { e.printStackTrace(); } } long size=getFileSize(file); if (size==ERROR_SIZE){ Log.e(TAG,"获取文件大小失败"); } // 分文件、限制文件个数 if (size > MAX_SIZE_OF_TXT) { for (int count = MAX_COUNT; count >= START_COUNT; count--) { if (count == MAX_COUNT) { if (FileUtil.isExist(dirFile, count + LOG_FILE_TXT_NAME) && !FileUtil.delete(dirFile, MAX_COUNT + LOG_FILE_TXT_NAME)) { Log.e(TAG, "文件删除失败"); return; } } else { if (FileUtil.isExist(dirFile, count + LOG_FILE_TXT_NAME) && !FileUtil.rename(dirFile, count + LOG_FILE_TXT_NAME, (count + 1) + LOG_FILE_TXT_NAME)) { Log.e(TAG, "文件重命名失败"); return; } } } } }源码下载
http://download.csdn.net/download/u010686002/10024222
阅读全文
0 0
- Android 日志保存到本地---CscSDK
- Android日志类----CscSDK
- android:Log日志保存到本地
- android logger 把日志保存到本地
- log4j保存日志到本地
- Android 异常崩溃日志,捕捉并保存到本地
- android log 的工具类 ,把日志保存到本地
- Android全局捕获crash并保存日志到本地
- android应用调试之如何保存logcat日志到本地
- android应用调试之如何保存logcat日志到本地
- java保存日志到本地文本文件
- Android 保存图片到本地
- android保存图片到本地
- Android保存图片到本地
- Android保存图片到本地
- Android保存Bitmap到本地
- android 保存bitmap到本地
- Android保存图片到本地
- okhttp post请求上传服务器File文件
- java后台创建压缩包&使用浏览器下载文件(批量下载实现)
- iTerm2 配色方案(oh-my-zsh& Powerline)
- web.xml
- Python3爬取网页信息乱码怎么解决?(更新:已解决)
- Android 日志保存到本地---CscSDK
- wnTKYg木马的解决
- 单例模式中的饿汉式与懒汉式
- 朴素贝叶斯分类器
- C# 批量生成随机密码,必须包含数字和字母,并用加密算法加密
- C#lock 的string String.Intern 方法
- Hamming Distance
- Java类加载机制
- Python数据库(MySQL、MongoDB、Redis)编程