2015-09-10 85 views
3

我正在閱讀關於內存泄漏,我明白,使用console.log()編寫結構化對象(不字符串)到控制檯可能會導致內存泄漏。我的應用用戶Angular的$log.log()做類似的事情。這會泄漏內存嗎?

回答

1

$log服務使用console.log內部 - 從source code

var console = $window.console || {}, 
     logFn = console[type] || console.log || noop, 
     hasApply = false; 

但是,您可以使用$logProvider.debugEnabled(false);禁用控制檯消息,當您需要,所以它是安全的,只要你記得使用關閉生產中的調試消息。

+0

謝謝Ori,聽起來可行。是否有最佳做法/工作流程來切換客戶端設置?例如,後端使用環境變量來確定開發/生產。你是否建議我將一個變量傳遞給'

0

正如ori所說,關閉生產中的日誌消息應該將此視爲一個問題。對於你仍然想要製作的消息,我建議記錄JSON.stringify()。