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

Android中使用log4j输出log内容到sd卡

2016-01-21 10:29 531 查看
在android中,实现输出log内容到sd卡中的文件里面,做法是:

1.导入者两个jar包



2.测试代码

import de.mindpipe.android.logging.log4j.LogConfigurator;
import java.io.File;
import android.os.Environment;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;

public class BaseActivity extends Activity {
private Logger gLogger;

public void configLog()
{
final LogConfigurator logConfigurator = new LogConfigurator();

logConfigurator.setFileName(Environment.getExternalStorageDirectory() + File.separator + "crifanli_log4j.txt");
// Set the root log level
logConfigurator.setRootLevel(Level.DEBUG);
// Set log level of a specific logger
logConfigurator.setLevel("org.apache", Level.ERROR);
logConfigurator.configure();

//gLogger = Logger.getLogger(this.getClass());
gLogger = Logger.getLogger("CrifanLiLog4jTest");
}

@Override
protected void onCreate(Bundle savedInstanceState) {
configLog();
gLogger.debug("test android log to file in sd card using log4j");
}


在AndroidManifest.xml中,增加如下设置:

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

否则会报 Caused by: java.io.FileNotFoundException: /storage/sdcard0/crifanli_log4j.txt:
open failed: EACCES (Permission denied)错误

最后即可实现

(1)可以在/mnt/sdcard中生成对应的crifanli_log4j.txt文件

(2)log输出的内容中,是DEBUG,且对应的是自己的字符串标识符CrifanLiLog4jTest
jar包下载地址点击打开链接
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: