Skip to content

Commit 036f1ea

Browse files
committed
see 02/11 log
1 parent d0ff864 commit 036f1ea

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

utilcode/src/main/java/com/blankj/utilcode/utils/LogUtils.java

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ private LogUtils() {
3030
private static char logFilter = 'v';
3131
private static String tag = "TAG";
3232
private static String dir = null;
33+
private static int stackIndex = 0;
3334

3435
/**
3536
* 初始化函数
@@ -264,13 +265,13 @@ private static void log(String tag, String msg, Throwable tr, char type) {
264265
if (msg == null || msg.isEmpty()) return;
265266
if (logSwitch) {
266267
if ('e' == type && ('e' == logFilter || 'v' == logFilter)) {
267-
printLog(tag, msg, tr, 'e');
268+
printLog(generateTag(tag), msg, tr, 'e');
268269
} else if ('w' == type && ('w' == logFilter || 'v' == logFilter)) {
269-
printLog(tag, msg, tr, 'w');
270+
printLog(generateTag(tag), msg, tr, 'w');
270271
} else if ('d' == type && ('d' == logFilter || 'v' == logFilter)) {
271-
printLog(tag, msg, tr, 'd');
272+
printLog(generateTag(tag), msg, tr, 'd');
272273
} else if ('i' == type && ('d' == logFilter || 'v' == logFilter)) {
273-
printLog(tag, msg, tr, 'i');
274+
printLog(generateTag(tag), msg, tr, 'i');
274275
}
275276
if (log2FileSwitch) {
276277
log2File(type, generateTag(tag), msg + '\n' + Log.getStackTraceString(tr));
@@ -292,16 +293,16 @@ private static void printLog(final String tag, final String msg, Throwable tr, c
292293
String subMsg = msg.substring(i * maxLen, (i + 1) * maxLen < len ? (i + 1) * maxLen : len);
293294
switch (type) {
294295
case 'e':
295-
Log.e(generateTag(tag), subMsg, tr);
296+
Log.e(tag, subMsg, tr);
296297
break;
297298
case 'w':
298-
Log.w(generateTag(tag), subMsg, tr);
299+
Log.w(tag, subMsg, tr);
299300
break;
300301
case 'd':
301-
Log.d(generateTag(tag), subMsg, tr);
302+
Log.d(tag, subMsg, tr);
302303
break;
303304
case 'i':
304-
Log.i(generateTag(tag), subMsg, tr);
305+
Log.i(tag, subMsg, tr);
305306
break;
306307
}
307308
}
@@ -344,9 +345,15 @@ public void run() {
344345
*/
345346
private static String generateTag(String tag) {
346347
StackTraceElement[] stacks = Thread.currentThread().getStackTrace();
347-
StackTraceElement caller = stacks[4];
348-
String format = "Tag[" + tag + "] %s[%s, %d]";
348+
if (stackIndex == 0) {
349+
while (!stacks[stackIndex].getMethodName().equals("generateTag")) {
350+
++stackIndex;
351+
}
352+
stackIndex += 3;
353+
}
354+
StackTraceElement caller = stacks[stackIndex];
349355
String callerClazzName = caller.getClassName();
356+
String format = "Tag[" + tag + "] %s[%s, %d]";
350357
callerClazzName = callerClazzName.substring(callerClazzName.lastIndexOf(".") + 1);
351358
return String.format(format, callerClazzName, caller.getMethodName(), caller.getLineNumber());
352359
}

0 commit comments

Comments
 (0)