1
我不確定這是否可能,但我希望能夠使用log4j註銷數據。但是,而不是log.info()語句的實際位置,我寧願將調用函數的方法名稱,行等由log4j顯示在普通字段中,而不是日誌數據。如何覆蓋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
}
}
你有沒有考慮過使用[diagnostic context](http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/MDC.html)?不完全是你要求的,但可以解決你的目的。 – durron597
我沒有,但我會研究它。 – zappullae
如果你想'info()'方法來做到這一點。你可以覆蓋它。因爲這通常不是'info()'的作用 –