Skip to content

Commit 4d0f446

Browse files
committed
Add line number of logging caller
1 parent 4a90ad6 commit 4d0f446

1 file changed

Lines changed: 15 additions & 0 deletions

File tree

  • AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/logger

‎AndroidAnnotations/androidannotations/src/main/java/org/androidannotations/logger/Formatter.java‎

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ public String buildLog(Level level, String loggerName, String message, Throwable
2121
.append(" [").append(Thread.currentThread().getName()).append("]") //
2222
.append(" ").append(level.name) //
2323
.append(" ").append(loggerName) //
24+
.append(":").append(getCallerLineNumber()) //
2425
.append(" - ").append(fullMessage);
2526

2627
// Stacktrace
@@ -72,4 +73,18 @@ private String stackTraceToString(Throwable e) {
7273
return writer.toString();
7374
}
7475

76+
private int getCallerLineNumber() {
77+
boolean previousWasLogger = false;
78+
String loggerClassName = Logger.class.getCanonicalName();
79+
80+
StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace();
81+
for (StackTraceElement stackTraceElement : stackTrace) {
82+
if (stackTraceElement.getClassName().equals(loggerClassName)) {
83+
previousWasLogger = true;
84+
} else if (previousWasLogger) {
85+
return stackTraceElement.getLineNumber();
86+
}
87+
}
88+
return -1;
89+
}
7590
}

0 commit comments

Comments
 (0)