Log4j For Android 和LogUtil的使用

来源:互联网 发布:淘宝小技巧 编辑:程序博客网 时间:2024/06/11 15:24

在Android开发过程中免不了添加打印日志来调试或跟踪软件,下面就简单的介绍一下Log4j For Android 这个开源的打印工具类怎么用。其实网上早已有人写过很多这样的博客了。但为了记录一下自己的开发经历,就在这里做个记录,免得以后用到又到处乱找。

1.下载Android的Log4j库

https://code.google.com/p/android-logging-log4j/downloads/list

2.下载依赖Apache的Log4j库

http://archive.apache.org/dist/logging/log4j/

找到logging-log4j-1.2.9.zip下载里面有jar包

Log4jConfigure.java

package com.example.log4j;import java.io.File;import org.apache.log4j.Level;import org.apache.log4j.Logger;import android.os.Environment;import de.mindpipe.android.logging.log4j.LogConfigurator;public final class Log4jConfigure{    //=============================================    //  Log4j for android 的配置初始化    //  建议放在Application的onCreate方法里    //  另外要判断手机是否有SD卡    //=============================================        private static Logger mLogger = null;        public static void configure()    {        final LogConfigurator logConfigurator = new LogConfigurator();                //===============================================================        //如果想创建的日记文件在多级目录下,要自己先创建目录,Log4j只能创建日记文件,不能创建多级目录        //===============================================================                logConfigurator.setFileName(Environment.getExternalStorageDirectory() + File.separator + "debugLog.txt");        logConfigurator.setRootLevel(Level.DEBUG);  //设置输出类型        logConfigurator.setLevel("org.apache", Level.DEBUG);        logConfigurator.setFilePattern("%d %-5p [%c{2}]-[%L] %m%n");        logConfigurator.setMaxFileSize(1024 * 1024 * 5);        logConfigurator.setImmediateFlush(true);        logConfigurator.configure();                mLogger = Logger.getLogger("Log4jForAndroid");    }        public static void debug(String str)    {        mLogger.debug(str);    }   }

上面就是Log4jForAndroid的配置初始化类,具体怎么用就不啰嗦了,看注释
另外别忘了在AndroidManifest.xml添加上
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />


另外还有一种打印方法
LogUtil.java

package com.example.log4j;import android.util.Log;public class LogUtil{    public static final int LOG_LEVEL_NONE = 0;    public static final int LOG_LEVEL_DEBUG = 1;    public static final int LOG_LEVEL_INFO = 2;    public static final int LOG_LEVEL_WARN = 3;    public static final int LOG_LEVEL_ERROR = 4;    public static final int LOG_LEVEL_ALL = 5;    private static int mLogLevel = LOG_LEVEL_NONE;    public static void d(String tag, String msg)    {        if (getLogLevel() >= LOG_LEVEL_DEBUG)        {            Log.d(tag, msg);        }    }    public static void i(String tag, String msg)    {        if (getLogLevel() >= LOG_LEVEL_INFO)        {            Log.i(tag, msg);        }    }    public static void w(String tag, String msg)    {        if (getLogLevel() >= LOG_LEVEL_WARN)        {            Log.w(tag, msg);        }    }    public static void e(String tag, String msg)    {        if (getLogLevel() >= LOG_LEVEL_ERROR)        {            Log.e(tag, msg);        }    }    public static void v(String tag, String msg)    {        if (getLogLevel() >= LOG_LEVEL_ALL)        {            Log.v(tag, msg);        }    }       public static int getLogLevel()    {        return mLogLevel;    }    public static void setLogLevel(int level)    {        LogUtil.mLogLevel = level;    }}

上面代码是在gitHub上别人的源码中找到的,地址我忘了,使用的时候先调用setLogLevel初始化
另外还有一个也是在gitHub上的https://github.com/snowdream/android-log


转载请注明本文出自卡卡宇科的博客(http://blog.csdn.net/hanyujianren/article/details/21821879),请尊重他人的辛勤劳动成果,谢谢!

第一次写博客,感觉很别扭,出了很多错误。以后得多锻炼锻炼。


代码下载


0 0
原创粉丝点击