2009-06-10 51 views
0

這可能是一個愚蠢的問題......但我有一個非常大的java程序,我正在使用舊的System.err.println方法進行調試,就像我在其他語言中使用print *一樣......更好的方式來管理一般的調試消息?

但過了一段時間,我有這麼多人,我不知道如何管理它們(有時我把兩次相同的信息與其他信息連接在一起,使其更加困難......)(並且抑制/發現他們到底有時不是微不足道的

我不知道如何更嚴格...你喜歡一種魔法令牌嗎?你總是打印出println的位置...

如果你有任何ja VA工具,我會考慮他們,但最佳做法一般會很好...

回答

7

也許給logging試試嗎?

爲了將信息輸出到標準輸出,請讓記錄器負責記錄日誌。而且,能夠設置不同的日誌記錄級別將允許記錄日誌消息的粒度變化。

+0

查看Daniel Moura對特定日誌記錄框架的回答。 log4j和commons都是java日誌中的事實上的標準,並且工作得很好。 – 2009-06-10 15:07:47

0

是的 - 我總是打印打印的位置。甚至可以在C中使用LINE宏。嘗試log4j它也打印一切的位置。

0

Eclipse Java開發工具(JDT)對Java調試非常有效。

就我個人而言,我停止使用println進行調試,因爲我發現了這個工具。如果你不知道,我認爲值得一試。

馬努

1

如果你使用Eclipse,你可以使用 「systrace」 模板(類型systrace然後按ctrl +空格)。您可以編輯模板以包含文件名,行號等(儘管如果您移動行數,行號會出錯,但在C/C++中沒有相當宏)

另一方面,您應該在日誌記錄,公用日誌記錄或log4j中使用日誌框架(如日誌),並且您應該使用DEBUGGER(如Eclipse)進行調試。

5

對於java你應該嘗試log4j。使用log4j,您可以爲消息設置級別(TRACE,DEBUG,INFO,WARN,ERROR和FATAL)。您可以選擇(並更改)日誌消息的輸出,如在控制檯中顯示日誌,保存在文件中,...

而且您可以配置消息格式(顯示小時,顯示類的名稱,...)。

您應該嘗試commons logging,它可以用作log4j等日誌工具的界面。

+0

比log4j/commons logging更喜歡logback/slf4j – KitsuneYMG 2009-06-10 14:58:46

相關問題