对于安卓的日志,我们通常的做法是通过 第三方的平台来实现日志的保存,例如腾讯的Buglay 和友盟统计 来实现,这些方法可以帮我们快速的统计各种bug以及其他信息,但是至少有一点不太好就是当涉及到一些隐私的信息不希望暴露在第三方平台(基于安卓控制系统的APP),况且这些信息不是实时上传的,基于这些考虑我们完全可以将这些log保存在我们的本地,需要的时候可以直接打开就可以看到。
具体步骤如下:
1、到Google Code 下载 microlog4android-1.0.0.jar 和 microlog.properties 。
2、将下载的microlog4android-1.0.0.jar包放在lib文件下,并设置为 librarys。
3、在程序的BaseActivit或者Application中的oncreate方法里初始化方法中添加以下代码
PropertyConfigurator.getConfigurator(this).configure();
当然在这之前,我们需要添加
private static final com.google.code.microlog4android.Logger logger = LoggerFactory.getLogger(TMApplication.class);//TMApplication为类名
4、把microlog.properties文件放到assets文件夹里;
注意:assets文件夹是与res文件夹平级的
然后更改microlog.properties文件为以下内容:
microlog.level=DEBUG
microlog.appender=LogCatAppender;FileAppender
microlog.formatter=PatternFormatter
microlog.formatter.PatternFormatter.pattern=%c [%P] %m %T
5、在AndroidManifest.xml 添加写sd卡的权限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
6、在需要打印日志的地方添加
logger.info("Entering the simulation mode."+"----"+sdf.format(new Date())+" \r\n");
当然这里我是添加了时间和换行,在程序中我们需要声明
private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd-HH:mm:ss");
7、至此我们便完成了log的本地存储,我们运行程序后,便可以在SD卡的根目录的地方看到microlog.txt的文件,打开文件就可以看到我们打印的log文件。
13 TMApplication [INFO] Entering the simulation mode.----2017-05-29-10:23:07
通过在我们的AS中也可以看到我们打印的日志
05-29 11:00:09.319 14426-14918/com.scth.xk.targetservice I/Microlog: 13 TMApplication [INFO] Entering the simulation mode.----2017-05-29-11:00:09