かなり驚いたので書いておく。
ログを出力する際に、出力元メソッド名を自力で取得している箇所がある。せっかく Log4j を使用しているのだけど、その辺はもうどうでもいい。
わたしだったらたぶん java.lang.reflect を使っている。というかそれも苦肉の策で、本来なら Log4j に任せたい。
しかし、このコードは Throwable インスタンスをその場で新たに作り、スタックトレースの行をマジックナンバー指定して取り出しているのだった。
道理でログにソースコードの行数まで出力されているわけだね。なるほど。