全局控制log工具类
在android中使用log调试,当发布版本的时候,往往需要将log调试的相关代码注释,通常比较麻烦。
使用全局控制类log就比较方便。
1、在Application中配置log调试信息是否显示;
代码块
/*
* Author:xwj
* date:2018/8/25 下午1:22
* 全局控制log工具类
*/
public class Mlog{
private Mlog()
{
throw new UnsupportedOperationException("cannot be instantiated");
}
// 是否需要打印bug,可以在application的onCreate函数里面初始化
public static boolean isDebug = true;
private static String TAG = "xwj";
public static void setMlog(String tag,boolean isdebug){
TAG=tag;
isDebug=isdebug;
}
// 下面四个是默认tag的函数
public static void i(String msg)
{
if (isDebug)
Log.i(TAG, msg);
}
public static void d(String msg)
{
if (isDebug)
Log.d(TAG, msg);
}
public static void e(String msg)
{
if (isDebug)
Log.e(TAG, msg);
}
public static void v(String msg)
{
if (isDebug)
Log.v(TAG, msg);
}
// 下面是传入自定义tag的函数
public static void i(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
}
public static void d(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
}
public static void e(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
}
public static void v(String tag, String msg)
{
if (isDebug)
Log.i(tag, msg);
}
/**
* 截断输出日志
* @param msg
*/
public static void logi(String tag, String msg) { //信息太长,分段打印
//因为String的length是字符数量不是字节数量所以为了防止中文字符过多,
// 把4*1024的MAX字节打印长度改为2001字符数
if(isDebug) {
int max_str_length = 2001 - tag.length();
//大于4000时
while (msg.length() > max_str_length) {
Log.i(tag, msg.substring(0, max_str_length));
msg = msg.substring(max_str_length);
}
//剩余部分
Log.i(tag, msg);
}
}
}