リフレクションや素晴らしいAPIを使って現在の行番号を動的に取得する方法はありますか?例外が発生したときと同じように、行番号は、このようなスタックトレースでプリントアウトします:今動的に現在の行番号を取得
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
は、印刷したり、次のコードのようにログインする方法はありますか?
log.error("Error in: " + this.getClass.getName() + "at line #"+ this.getClass.getActualLine());
私は単に行番号を印刷しないのはなぜですか?コードが特定のlog.error()メソッド呼び出しの前に削除または追加される可能性があるからです。
PatterningLayoutのAPIはこれに便利ですか? – sadhu
'新しいThrowable'を作成し、スタックトレース要素にアクセスすることができます。 http://stackoverflow.com/questions/115008/how-can-we-print-line-numbers-to-the-log-in-java –
@アンドレアス:「Throwable」は必要ありません:[' Thread.getStackTrace() '](http://docs.oracle.com/javase/7/docs/api/java/lang/Thread.html#getStackTrace())で十分です。 –