[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,需要请自行下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值