1. 程式人生 > >System.out.print與Log的比較

System.out.print與Log的比較

System.out.print的優點:直觀、方便。

Log的優點:非同步、解耦、靈活、策略多。

提到System.out.print,除了感覺到方便之外,還會想到其他的優點嗎?似乎也就這個優點,syso快捷鍵瞬間就是一條列印語句,很順手的一件事,除了這個感覺外,似乎也沒有其他特別的感受了。

System.out.print和java執行程式執行在同一執行緒,也就是說,業務程式會等待System.out的動作,導致資源被佔用,log4j、logback等日誌工具進行除錯資訊的列印,這類工具是非同步執行緒的,不會使程式處於等待狀態。

System.out.print是在控制檯輸出,只能輸出到控制檯,功能上線後,總不能一直盯著控制檯吧,而且日誌檔案需要保留,以供日後分析,是需要一套管理規範的,即便使用tomcat伺服器,System.out會輸出到catalina.out檔案,catalina.out檔案也不會一直存在,需要定期清空,如果不清空,大檔案的讀寫也是挺影響效能的。說到這裡,System.out.print寫入的檔案只有一個,對於一個檔案的讀寫,這個io肯定會排隊寫,且System.out.print在當前執行緒,肯定對效能會有稍微的影響。

程式中充斥著大量的System.out.print列印程式碼是相當不規範的。