如果要直接在android工程中使用log4j,是有点问题的,会报如下的错:
11-23 09:44:56.947: D/dalvikvm(1585): GC_FOR_MALLOC freed 3278 objects / 311568 bytes in 31ms
rejecting opcode 0x21 at 0x000a
rejected Lorg/apache/log4j/config/PropertySetter;.getPropertyDescriptor
(Ljava/lang/String;)Ljava/beans/PropertyDescriptor;
Verifier rejected class Lorg/apache/log4j/config/PropertySetter;
Exception Ljava/lang/VerifyError; thrown during Lorg/apache/log4j/LogManager;.
Shutting down VM
threadid=1: thread exiting with uncaught exception (group=0x400259f8)
FATAL EXCEPTION: main
java.lang.ExceptionInInitializerError
at org.slf4j.impl.Log4jLoggerFactory.getLogger(Log4jLoggerFactory.java:64)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:253)
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:265)
...
Caused by: java.lang.VerifyError: org.apache.log4j.config.PropertySetter
at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:772)
at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735)
at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502)
at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:547)
at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:483)
at org.apache.log4j.LogManager.(LogManager.java:127)
... 20 more

因此,可以另外多下载一个叫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" />
然后在程序中如下使用:
package com.android.myapp; .import java.io.File; import org.apache.log4j.Level; import org.apache.log4j.Logger;.import android.app.Application; import android.os.Environment; import de.mindpipe.android.logging.log4j.LogConfigurator; . public class MyApplication extends Application {         @Override         public void onCreate() {                 super.onCreate();                 LogConfigurator logConfigurator = new LogConfigurator();                 logConfigurator.setFileName(Environment.getExternalStorageDirectory()                                 + File.separator + "MyApp" + File.separator + "logs"                                 + File.separator + "log4j.txt");                 logConfigurator.setRootLevel(Level.DEBUG);                 logConfigurator.setLevel("org.apache", Level.ERROR);                 logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");                 logConfigurator.setMaxFileSize(1024 * 1024 * 5);                 logConfigurator.setImmediateFlush(true);                 logConfigurator.configure();                 Logger log = Logger.getLogger(MyApplication.class);                 log.info("My Application Created");         } }

现在日志则是以:
Environment.getExternalStorageDirectory() + File.separator + "MyApp" + File.separator + "logs" + File.separator + "log4j.txt
的方式保存了。其他和log4j的用法差不多了。

更多相关文章

  1. android6.0 状态栏添加图标 举例Location
  2. Android(安卓)下拉刷新控件的使用
  3. 关于android 经典蓝牙开发 使用UUID连接的问题
  4. Android中使用log4j
  5. android的Menu使用(1)------选项菜单
  6. Android横屏竖屏切换的问题
  7. 箭头函数的基础使用
  8. NPM 和webpack 的基础使用
  9. Python list sort方法的具体使用

随机推荐

  1. Django 使用正则匹配URL 并将匹配成功的
  2. XpmJS —— 小程序后端开发思考和实践
  3. 谈谈使用JS库解决小程序跨页传递消息和数
  4. 支撑百度搜索引擎99.995%可靠名字服务架
  5. 手写spring+springmvc+mybatis框架篇【sp
  6. 新浪微博平台自动化运维演进之路
  7. 大数据平台快速解决方案
  8. 大数据平台架构技术选型与场景运用
  9. 设计模式是什么鬼(原型)
  10. 解决Laravel使用laravel-excel扩展包(maa