2013-05-30 181 views
0

我有一個命令行應用程序,我的客戶端需要在命令行中輸入調試信息。我想添加使用System.out.println的調試信息,如在控制檯中記錄信息--java

System.out.println("message"); 

這是很好的編程習慣嗎?否則,什麼是更好的選擇?

+4

其實這是非常糟糕的做法。使用像'log4j'這樣的日誌框架。 – Kai

回答

4

而不是System.out.println(),使用日誌框架。

有幾個日誌框架用於Java項目。 Log4J可能是最知名和最受歡迎的一個。我的第一個選擇是SLF4J,實際上它不是一個日誌框架本身,而是一個你可以插入不同日誌框架的層(如Log4J或Logback)。

標準Java API中還有一個標準的日誌框架,在包java.util.logging中,但根據我的經驗,它並不是非常流行。

使用日誌框架而不是System.out.println()調用的優點是,您可以輕鬆配置日誌記錄以寫入文件或其他存儲,而不是寫入控制檯,並且可以使用不同的日誌記錄級別進行調試,警告,和錯誤,你可以選擇你想要獲得什麼級別的日誌輸出。