我在我的代碼中使用System.out.println來跟蹤程序的執行並獲得一些有用的輸出。這會在控制檯這樣的結果:智能println,顯示堆棧中的深度
Main function. Program starts.
Method getArea. Getting values
Method getSide. Side is 6
Method getArea. First value is 6
Method getSide. Side is 8
Method getArea. Second value is 8
Method getArea. Area is 48
Main function. The final area is 48
我想創建THA方法,它在輸出前每次代碼放在方法調用棧更深的時間增加了一個空間。例如,同樣的代碼,但不是使用System.out.println,現在Misc.smartPrintln:
Main function. Program starts.
Method getArea. Getting values
Method getSide. Side is 6
Method getArea. First value is 6
Method getSide. Side is 8
Method getArea. Second value is 8
Method getArea. Area is 48
Main function. The final area is 48
的方法將有這樣的定義:
public static void smartPrintln(String string);
我不知道該怎麼實現這個功能。任何想法如何解決這個問題?而且,記錄器的使用是否可以提供這種功能?
Big +1 to ob1 - 我從來沒有想過這個令人驚訝的醜陋但有用的黑客攻擊。 – 2010-06-02 13:14:09