我不确定这是否可行,但我希望能够使用 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
}
}