Log-Ausgabe

turmaline

Bekanntes Mitglied
Hallo Leute,

ich habe vielleicht einen etwas ungewöhnlichen Wunsch, bei der Logausgabe nicht nur den Namen der Klasse mitauszugeben, sondern auch die Zeilennummer mit auszugeben. Der Name ist einfach: MyClass.class.getName(). Weiß jemand wie man die Zeilennummer zurückgeben könnte?

Danke und Gruß,
madlena
 
ICh weiß nicht wie man das anders machen kann, aber mit den currentStackTrace geht das zumindest.

Java:
public class LogMitZeile {

	public static void main(String[] args) {
		System.out.println("hier ist eine ausgabe (" + Thread.currentThread().getStackTrace()[1]+")");
	}
}


// Das gibst du im Code irgendwo ein und du erhälst die Info, wie du zu dieser Stelle gekommen bist. Ganz hilfreich beim Debuggen

for (int i = 0; i < Thread.currentThread().getStackTrace().length; i++) {
	System.err.println(Thread.currentThread().getStackTrace()[i]);
}
 
1. Log4j richtig konfigurieren, dann gibt das die Zeilennummern mit aus
2. Die Variante funktioniert, ist allerdings performancetechnisch nicht gut
 
Log4j ist da wohl wirklich einfacher/schöner und wenn du das bereits fürs Loggin benutzt, dann auf jeden Fall so.

Gibt es auch eine Möglichkeit in der normalen Java Logging-API?
 

Zurück
Oben