一、需求描述
使用安卓的日志,无论打印哪种级别的日志,都需要TAG,如下所示:
public class PhotoUtil {
private static final String TAG = PhotoUtil.class.getSimpleName();
}
但是这样写的话,代码被混淆之后,这个TAG可能就被混淆的难以识别,如果继续用ClassName.class.getSimpleName()来保存一些数据的话,可能就会出现异常,如下面的链接所示:
https://blog.csdn.net/weixin_34242819/article/details/87571152
而且为了保持以后查看分析日志发布,最好这个TAG还是不混淆的好,最好写成常量字符串。
public class PhotoUtil {
// private static final String TAG = PhotoUtil.class.getSimpleName();
private static final String TAG = "PhotoUtil";
}
二、如何在Android Studio中快速生成这个TAG呢?
2.1 logt 介绍
首先我们打开【Settings】–>【Editor】–>【Live Templates】–>【Android Log】–>【logt】 如下所示
描述(description)为:A static logtag with your current classname
缩写(abbreviation)为:logt
使用logt 敲出来的代码模板如下所
private static final String TAG = "$className$";
其中变量 的表达式为
groovyScript("_1.take(Math.min(45, _1.length()));", className())
因此我们可以直接在代码中 敲 logt 就可以敲出TAG了。
2.2 使用 logt
如下所示,在代码中 敲入 logt 就会出现如下所示的提示框
然后按Enter回车键,则会自动生成代码,如下所示,可以确认TAG的值
如果不需要修改TAG的值,直接再按一次Enter回车键即可,如下所示
public class PhotoUtil {
// private static final String TAG = PhotoUtil.class.getSimpleName();
private static final String TAG = "PhotoUtil";
}
这样我们就可以很快速的生成每个类的TAG了!
三、扩展修改下 AndroidLog组下面的Live Template
3.1 原生的 logd
3.1.1 定义
logd 生成的代码模板如下所示,使用的是android原生的android.util.Log类
3.1.2 使用
public static void test() {
Log.d(TAG, "test: ");
}
3.2 修改 logd的Live Template
但是往往我们正式项目都会自定义自己的LogUtil类,因此我们可以将此模板都改成自己的类
3.2.1 定义
修改 logd的Live Template的模板代码如下所示:
com.xtc.log.LogUtil.d(TAG, "$METHOD_NAME$: $content$");
其中 com.xtc.log.LogUtil 是我们自己的业务封装log类。
变量的表达式为 methodName()
将 描述修改为 LogUtil.d(TAG, String)
3.2.2 使用
现在我们使用修改后的logd,如下所示
public static void test() {
LogUtil.d(TAG, "test: ");
}
3.3 其他的 loge、logi、logw
loge
logi
logw
敲log 弹出来的提示框,如下所示
四、相关链接
作者:欧阳鹏 欢迎转载,与人分享是进步的源泉!
转载请保留原文地址:https://blog.csdn.net/qq446282412/article/details/94440988
☞ 本人QQ: 3024665621
☞ QQ交流群: 123133153
☞ github.com/ouyangpeng
☞ [email protected]