From:http://jackyrong.iteye.com/blog/1694699

http://blog.csdn.net/djun100/article/details/18457257


在android中,实现输出log内容到sd卡中的文件里面,做法是:

还是相对来说,log4j,算是好用。

1.下载android的log4j的库(的封装)

去:http://code.google.com/p/android-logging-log4j/

下载对应的android-logging-log4j-1.0.3.jar,加到项目中。

2.再去下载所依赖的apache的log4j库

去:http://logging.apache.org/log4j/1.2/download.html

下载1.2系列版本的:log4j-1.2.17.zip

解压得到log4j-1.2.17.jar加到项目中。

3.写测试代码:

?
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 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.log" ); // 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" );

即可实现:

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

(2)log输出的内容中,是DEBUG,且对应的是自己的字符串标识符CrifanLiLog4jTest



因此,可以另外多下载一个叫android-logging-log4j的项目,地址在:
http://code.google.com/p/android-logging-log4j/downloads/list,注意,原本的log4j还是需要的。

在AndroidManifest.xml中,增加如下设置:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
然后在程序中如下使用:

Java代码
  1. packagecom.android.myapp;
  2. .
  3. importjava.io.File;
  4. importorg.apache.log4j.Level;
  5. importorg.apache.log4j.Logger;
  6. .
  7. importandroid.app.Application;
  8. importandroid.os.Environment;
  9. importde.mindpipe.android.logging.log4j.LogConfigurator;
  10. .
  11. publicclassMyApplicationextendsApplication{
  12. @Override
  13. publicvoidonCreate(){
  14. super.onCreate();
  15. LogConfiguratorlogConfigurator=newLogConfigurator();
  16. logConfigurator.setFileName(Environment.getExternalStorageDirectory()
  17. +File.separator+"MyApp"+File.separator+"logs"
  18. +File.separator+"log4j.txt");
  19. logConfigurator.setRootLevel(Level.DEBUG);
  20. logConfigurator.setLevel("org.apache",Level.ERROR);
  21. logConfigurator.setFilePattern("%d%-5p[%c{2}]-[%L]%m%n");
  22. logConfigurator.setMaxFileSize(1024*1024*5);
  23. logConfigurator.setImmediateFlush(true);
  24. logConfigurator.configure();
  25. Loggerlog=Logger.getLogger(MyApplication.class);
  26. log.info("MyApplicationCreated");
  27. }
  28. }

现在日志则是以:
Environment.getExternalStorageDirectory() + File.separator + "MyApp" + File.separator + "logs" + File.separator + "log4j.txt
的方式保存了。

更多相关文章

  1. android studio从Eclipse迁移
  2. Cocos2d-x 项目从VS移植到Android中的配置
  3. maven 学习笔记(二)-创建简单的eclipse+android+maven工程
  4. Android开发环境配置
  5. Android(安卓)SDK下载和更新失败的解决方法!!!
  6. Android开发环境搭建
  7. AndroidStudio 3.0 加载Android(安卓)support library问题
  8. 阅读《Android(安卓)从入门到精通》(2)——熟悉开发环境
  9. 基于linux系统安装Android(安卓)Studio

随机推荐

  1. Android模拟翻书效果
  2. [Error running app: Instant Run requir
  3. Android(安卓)Manifest 权限描述大全
  4. Android(安卓)ApiDemos示例解析(165):Vie
  5. git服务器搭建过程
  6. android 实现短视频拍摄
  7. Android(安卓)Camera高级特性——手动对
  8. 如何运行 .smali 程序
  9. android视频截屏&手机录屏实现
  10. android ResolveInfo运用