需求:
每个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);
}
}
}