我有一個命令行應用程序,我的客戶端需要在命令行中輸入調試信息。我想添加使用System.out.println
的調試信息,如在控制檯中記錄信息--java
System.out.println("message");
這是很好的編程習慣嗎?否則,什麼是更好的選擇?
我有一個命令行應用程序,我的客戶端需要在命令行中輸入調試信息。我想添加使用System.out.println
的調試信息,如在控制檯中記錄信息--java
System.out.println("message");
這是很好的編程習慣嗎?否則,什麼是更好的選擇?
而不是System.out.println()
,使用日誌框架。
有幾個日誌框架用於Java項目。 Log4J可能是最知名和最受歡迎的一個。我的第一個選擇是SLF4J,實際上它不是一個日誌框架本身,而是一個你可以插入不同日誌框架的層(如Log4J或Logback)。
標準Java API中還有一個標準的日誌框架,在包java.util.logging
中,但根據我的經驗,它並不是非常流行。
使用日誌框架而不是System.out.println()
調用的優點是,您可以輕鬆配置日誌記錄以寫入文件或其他存儲,而不是寫入控制檯,並且可以使用不同的日誌記錄級別進行調試,警告,和錯誤,你可以選擇你想要獲得什麼級別的日誌輸出。
查看這裏接受的答案,知道爲什麼syso不是首選:Do not use System.out.println in server side code
其實這是非常糟糕的做法。使用像'log4j'這樣的日誌框架。 – Kai