需求:
每个java文件里都得写一句这样得话来打印日志。
private static final String TAG = HashValidator.class.getSimpleName();
这样很冗余。但是因为每个java文件都需要打印日志。又必须加。如何解决?
获取调用位置的类名来替换LOG打印日志里的TAG变量。
解决办法:
public static void d(String msg) {
if (sOpenLog) {
StackTraceElement[] stackTraceElements = Thread.currentThread().getStackTrace();
if (stackTraceElements.length > 3) {
String className = stackTraceElements[3].getClassName();
String TAG = className.substring(className.lastIndexOf('.') + 1);
Log.d(TAG, msg);
}
}
}
文章讨论了Java开发中如何避免每个文件都写重复的TAG用于日志打印的问题,提出通过获取调用位置的类名动态生成TAG,减少代码冗余。

被折叠的 条评论
为什么被折叠?



