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

Android平台使用log4j

2014-12-02 22:18 176 查看
1.下载log4j库

2.新建android工程,将下载的log4j库中的log4j-1.2.17.jar文件复制到libs目录(只需这一个jar文件)

3.在android工程的AndroidManifest.xml文件中声明对外部存储的访问(因为要把日志文件写到sd卡上)

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
4.在程序的初始化(例如MainActivity.onCreate)中,加入配置logger的代码.

package com.uuorange.log4j_in_android_app;

import java.io.File;
import java.io.IOException;

import org.apache.log4j.DailyRollingFileAppender;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import org.apache.log4j.PatternLayout;

import android.app.Activity;
import android.os.Bundle;
import android.os.Environment;
import android.view.Menu;
import android.view.MenuItem;

public class MainActivity extends Activity
{
private static final Logger logger = Logger.getLogger(MainActivity.class);

@Override
protected void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

String str_root_dir = Environment.getExternalStorageDirectory().getPath();
str_root_dir += "/UUOrangeData";

File root_dir = new File(str_root_dir);
if(!root_dir.exists())root_dir.mkdirs();

String str_log_dir = str_root_dir+"/logs";
File dir = new File(str_log_dir);
if(!dir.exists())dir.mkdirs();
Init_log4j(dir.getAbsolutePath());

logger.info("log 1");
logger.info("log 2");
logger.info("log 3");

//now you can check /sdcard/UUOrangeData/logs目录

}

void Init_log4j(String log_dir)
{
try
{
PatternLayout layout = new PatternLayout("%d{yyyy-mm-dd HH:mm:ss} : %m [%l]%n");
logger.addAppender(new DailyRollingFileAppender(layout, log_dir + "/daily.log", "yyyy-MM-dd'.log'"));
logger.setLevel((Level) Level.INFO);
logger.info("config logger finish.");
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}


5.enjoy

源码工程:http://download.csdn.net/detail/bsxylj/8218309
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: