Gibt es eine Möglichkeit in Java, die aktuelle Zeilennummer durch Reflexion oder eine tolle API dynamisch zu bekommen? Genau wie wenn Ausnahmen auftreten, wird die Zeilennummer in dem Stack-Trace wie folgt ausgedruckt:Dynamisch erhalten Sie die aktuelle Zeilennummer
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
Jetzt ist es eine Möglichkeit, wie im folgenden Code zu drucken oder melden Sie sich?
Sie können fragen, warum drucke ich nicht einfach die Zeilennummer? Nun, da der Code möglicherweise vor dem Aufruf der Methode log.error() gelöscht oder hinzugefügt wird.
Ist PatternLayout der Protokollierung APIs nicht praktisch für dieses? – sadhu
Sie könnten ein 'neues Throwable' erstellen und auf die Stack-Trace-Elemente zugreifen. Siehe http://stackoverflow.com/questions/115008/how-can-we-print-line-numbers-to-the-log-in-java –
@Andreas: Sie brauchen kein 'Throwable': [' Thread.getStackTrace() '] (http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#getStackTrace()) ist ausreichend. –