您的位置:首页 > 移动开发 > Android开发

[Android初级]使用microlog记录到本地日志

2015-01-08 10:32 537 查看
     如何在我们的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,需要请自行下载
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  Android 日志logger