编写属于自己的Log输出控制
喜马拉雅视频教程04-编写属于自己的Log输出控制
为什么要编写一个属于自己的log输出工具类呢?
我们平时输出log直接是Log.d(TAG,”log内容”) 这样子输出的,而且很随意哦,如果一个应用很多。
或者写代码的人比较多的时候,那么log量就大了。
那我们要发布的时候怎么样把log关闭呢?删除掉吗?
删除的话,有很多呢,一条一条地去删除吗?
如果删除了,以后又出问题了,怎么样才能看问题呢?没有Log了呢!
这个时候我们就要定义一个自己的log工具类了,这个工具类可以控制是否要输出log,有一个总开关
使用方式不变,参数不变,而且还可以扩展更好,比如说写到一个文件里,以后出问题了,是否要上传到后台,让程序员分析问题
在下一下版本迭代解决掉这个问题。 最简单的Log工具类了
package com.sunofbeaches.himalaya.utils;
import android.util.Log;
/**
* Created by TrillGates on 18/10/7.
* God bless my code!
*/
public class LogUtil {
public static String sTAG = "LogUtil";
//控制是否要输出log
public static boolean sIsRelease = false;
/**
* 如果是要发布了,可以在application里面把这里release一下,这样子就没有log输出了
*/
public static void init(String baseTag, boolean isRelease) {
sTAG = baseTag;
sIsRelease = isRelease;
}
public static void d(String TAG, String content) {
if (!sIsRelease) {
Log.d("[" + sTAG + "]" + TAG, content);
}
}
public static void v(String TAG, String content) {
if (!sIsRelease) {
Log.d("[" + sTAG + "]" + TAG, content);
}
}
public static void i(String TAG, String content) {
if (!sIsRelease) {
Log.d("[" + sTAG + "]" + TAG, content);
}
}
public static void w(String TAG, String content) {
if (!sIsRelease) {
Log.d("[" + sTAG + "]" + TAG, content);
}
}
public static void e(String TAG, String content) {
if (!sIsRelease) {
Log.d("[" + sTAG + "]" + TAG, content);
}
}
}
使用方式:
初始化
在Application初始化的时候初始化一下
LogUtil.init(this.getPackageName(), false);
调用
LogUtil.d(TAG, "log内容");