Log4j For Android 和LogUtil的使用

本文介绍了一种在Android开发中使用的日志打印工具——Log4jForAndroid,并提供了配置示例及另一种简单实用的日志打印方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

1.下载Android的Log4j库

2.下载依赖Apache的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.youkuaiyun.com/hanyujianren/article/details/21821879,请尊重他人的辛勤劳动成果,谢谢!

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


代码下载


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值