これが可能かどうかはわかりませんが、log4j を使用してデータをログアウトできるようにしたいと考えています。しかし、log.info() ステートメントの実際の場所ではなく、呼び出し関数のメソッド名、行などを、ログ データとしてではなく、通常のフィールドで log4j によって表示することをお勧めします。
ログ イベントのデータ フィールドをオーバーライドすることはできますか?
public class Foo
{
public static void info(String msg)
{
Logger aLogger = Logger.getRootLogger();
// -- Set the calling function location info here
aLogger.info(msg);
}
}
public class Bar
{
public void test()
{
Foo.info("x"); // -- Want this line, file, class, method logged
}
}