在我们开发Android的项目过程中,logcat有助于我们分析问题和解决问题,如果APP已经上线出现问题,那么我们就需要Logcat进行问题的定位,那么保存应用的Logcat并且上传到服务器的功能是很有必须要。下面介绍2种保存Logcat的方法:
(1)自定义logcat输出,再把Logcat写入文件保存起来,同时可以定义logcat输出的优先级,然后压缩上传到服务器;
(2)使用Runtime.getRuntime()执行命令CMD命令,过滤logcat然后保存到文件中,过滤的条件有根据进程ID,关键字,logcat的等级等等,可以混合使用。
下面看看第一种情况的简单代码实现:
/** * currentLevel 设置优先级 * @param tag Log的TAG * @param msg 需要打印的Log信息 */ public static final void e(String tag, String msg) { if (currentLevel.value > Level.ERROR.value) return; if (isWriter) { write(tag, msg, "E"); } Log.e(tag, msg); }
/** * 写文件操作 * * @param tag 日志标签 * @param msg 日志内容 * @param level 日志级别 * @param throwable 异常捕获 */ private static final void write(String tag, String msg, String level, Throwable throwable) { String timeStamp