LogUtil日志打印工具

本文介绍了一种根据构建类型动态调整日志级别的日志工具类实现方法,该工具类能够根据不同的构建配置(如debug或release)来决定是否打印日志及日志的详细程度。

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

项目开发过程中需要经常打印日志,而上线后的APP我们希望不打印出调试日志,所以自己封装一个日志工具类,可以buildtype来决定是否打印日志:

build.gradle中在debug中定义:

  buildConfigField "int", "ENABLE_DEBUG_LEVEL", "5"

在release中定义:

  buildConfigField "int", "ENABLE_DEBUG_LEVEL", "0"

工具类:

public class LogUtil {

    private LogUtil() {
        throw new UnsupportedOperationException("L cannot instantiated!");
    }

    public static void v(String tag, String msg) {
        if (BuildConfig.ENABLE_DEBUG_LEVEL >= 5)
            Log.v(tag, msg);
    }

    public static void d(String tag, String msg) {
        if (BuildConfig.ENABLE_DEBUG_LEVEL >= 4) {
            if (msg.length() > 3000) {
                for (int i = 0; i < msg.length(); i += 3000) {
                    if (i + 3000 < msg.length())
                        Log.d(tag, msg.substring(i, i + 3000));
                    else
                        Log.d(tag, msg.substring(i, msg.length()));
                }
            } else {
                Log.d(tag, msg);
            }

        }

    }

    public static void i(String tag, String msg) {
        if (BuildConfig.ENABLE_DEBUG_LEVEL >= 3)
            Log.i(tag, msg);
    }

    public static void w(String tag, String msg) {
        if (BuildConfig.ENABLE_DEBUG_LEVEL >= 2)
            Log.w(tag, msg);
    }

    public static void e(String tag, String msg) {
        if (BuildConfig.ENABLE_DEBUG_LEVEL >= 1) {
            if (msg.length() > 3000) {
                for (int i = 0; i < msg.length(); i += 3000) {
                    if (i + 3000 < msg.length())
                        Log.e(tag, msg.substring(i, i + 3000));
                    else
                        Log.e(tag, msg.substring(i, msg.length()));
                }
            } else {
                Log.e(tag, msg);
            }

        }
    }

}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值