为什么要将Log写入文件
运行应用程序的时候,大多数是不会连接着IDE的;
而当应用程序崩溃时,我们需要收集复现步骤,在设备上复现,并进行Debug;
而由于Android手机的多样性,有些问题是某个机型特有的, 这样很难去复现;
所以我们想能不能把重要的log输出在文件中,有问题,有bug直接把log发过来,这样可以大大简化复现的流程,增加Debug的速度。
原理简介
其实原理很简单,就是把一行行字符串写入文件中而已。
这里选用了静态方法调用,跟系统的log一样,使用起来比较方便;
需要注意的是,使用之前需要传入context进行初始化,这样是为了获得系统规定好的存储路径,将数据写入Android希望我们写入的地方,便于卸载时清除;
其实也可以不传入context,直接用Environment的静态方法获取外部储存路径,自定义文件名即可,但是这样比较不规范,不推荐这样做;
代码很简单,分享在CSDN上方便以后使用。
权限
<!--外部存储读取权限-->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
源码:
GitHub地址:
package com.waka.workspace.logtofile;
import android.content.Context;
import android.os.Environment;
import android.util.Log;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
<