定制自己的Log日志工具—轻松控制log打印

  在写项目时为了方便调试,往往会在代码的很多地方都打印大量的日志。最近项目基本完成了,这时却有一个非常让人头疼的问题,就是之前用于调试的那些日志在项目上线之后仍旧会照常打印,这样不仅会降低程序的运行效率,还有可能将一些重要的数据泄露出去。
  为了不让项目上线后继续打印这些日志,就有人会想到干脆把之前的日志输出都删掉或者注释掉吧。但是如果是很大的项目,这么做恐怕谁也受不了吧,而且后期版本迭代过程中还有可能需要调试,难不成再一个一个的取消注释么。。
  最理想的就是能够自由的控制日志的打印,当程序处于开发阶段就让日志打印,上线之后就把日志屏蔽掉。下边给出一种具体的代码实现,仅供参考:

package com.glp.demo.utils;

import android.util.Log;

/**
 * log工具类   控制要显示log的类别
 * Created by glp on 2017/6/9.
 * 开发期间为了方便调试,在代码的很多地方都打印了大量的日志。可是当项目临近上线时,
 * 之前调试的那些日志在上线后仍然会照常打印,这样不仅会降低程序的运行效率,还可能导致数据泄露!
 * <p>
 * 通过修改level的初始化值,达到过滤log类别或者直接关掉所有的日志打印。
 */

public class LogUtil {

    public static int VERBOSE = 1;  // 显示全部log日志
    public static int DEBUG = 2;    // 显示debug info warn error
    public static int INFO = 3;     // 显示info warn error
    public static int WARN = 4;     // 显示warn error
    public static int ERROR = 5;    // 只显示 error 级别的log
    public static int NOTHING = 6;  // 所有的日志都不打印 [ps:上线时使用]

    public static int level = VERBOSE;  // 修改这里的level值为上方某一个即可

    public static void v(String tag, String msg) {
        if (level <= VERBOSE) {
            Log.v(tag, msg);
        }
    }

    public static void d(String tag, String msg) {
        if (level <= DEBUG) {
            Log.d(tag, msg);
        }
    }

    public static void i(String tag, String msg) {
        if (level <= INFO) {
            Log.i(tag, msg);
        }
    }

    public static void w(String tag, String msg) {
        if (level <= WARN) {
            Log.w(tag, msg);
        }
    }

    public static void e(String tag, String msg) {
        if (level <= ERROR) {
            Log.e(tag, msg);
        }
    }
}

  我们只需要修改level变量的值,就可以自由控制日志的打印了。比如让level等于VERBOSE就可以把所有的日志都打印出来,让level等于ERROR就可以只打印错误级别的日志,让level等于NOTHING就可以把所有的日志都屏蔽掉。
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值