[Android初级]使用microlog记录到本地日志
如何在我们的android程序中保存日志到本地,最近项目中也有这样的需求,为了达到定期检查app的运行情况和排错任务,我选择了使用microlog4android的工具来实现。
项目结构:
1.下载https://code.google.com/p/microlog4android/downloads/list(要翻墙)
2.添加microlog.properties到项目assets下
# This is a simple Microlog configuration file microlog.level=DEBUG microlog.appender=LogCatAppender;MyFileAppender microlog.formatter=PatternFormatter microlog.formatter.PatternFormatter.pattern=%c [%P] %m %T
3.添加权限<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
4.开始进入正题了,我的demo代码示例:
package com.example.micrologdemo; import android.app.Activity; import android.os.Bundle; import com.example.micrologdemo.appender.MyFileAppender; import com.google.code.microlog4android.Logger; import com.google.code.microlog4android.LoggerFactory; import com.google.code.microlog4android.config.PropertyConfigurator; import com.google.code.microlog4android.format.PatternFormatter; /** * * @author jan */ public class MainActivity extends Activity { //创建Logger对象 private static final Logger log = LoggerFactory .getLogger(MainActivity.class); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //加载assets下的properties文件 PropertyConfigurator.getConfigurator(this).configure(); //选择记录类型 log.addAppender(new MyFileAppender()); final MyFileAppender mfa = (MyFileAppender) log.getAppender(1); mfa.setAppend(true);//是否追加 mfa.setFileName("test_local.log");//生成的日志名称 PatternFormatter formatter = new PatternFormatter(); formatter.setPattern("%r %c{1} [%P] %m %T");//%d{3} mfa.setFormatter(formatter); log.info("------onCreate----");//记录内容 log.debug("------onCreate----"); String nullStr = null; try { nullStr.equals(" hello nullpointException! "); } catch (Exception e) { log.error("发现错误:" + e.getCause(), e); } } @Override protected void onResume() { super.onResume(); log.info("------onResume----"); log.debug("------onResume----"); } @Override protected void onPause() { super.onPause(); log.info("------onPause----"); log.debug("------onPause----"); } @Override protected void onDestroy() { super.onDestroy(); log.info("------onDestroy----"); log.debug("------onDestroy----"); } }5.运行程序后,在sdcard下会生成一个test_local.log的日志,内容如下
0 MainActivity 20000101 08:39:17 [INFO] ------onCreate---- 3 MainActivity 20000101 08:39:17 [DEBUG] ------onCreate---- 4 MainActivity 20000101 08:39:17 [ERROR] 发现错误:null java.lang.NullPointerException 16 MainActivity 20000101 08:39:17 [INFO] ------onResume---- 17 MainActivity 20000101 08:39:17 [DEBUG] ------onResume----
是不是很棒,而且使用很简单,再做一些封装就可以加入到正式的项目中了。
最后献上demo,需要请自行下载
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。