首页 > 解决方案 > 在 AngularJS 中,console.log 和 $log.info 有什么区别?

问题描述

我已经看到两者都使用过,我看不出它们的输出有任何区别。除了不需要注入 $log 的 console.log 之外,还有一个优势吗?

var url = "http://www.google.com";
console.log(url);
$log.info(url);

两个语句都将字符串返回到控制台窗口。如果 url 是一个对象,两者都会将该对象的属性返回到控制台窗口。

标签: javascriptangularjs

解决方案


该服务的主要目的是让您有一个稳定的实现(跨浏览器/节点的可用性没有差异),因此您可以使用(例如在生产构建或单元测试期间)ng.$log关闭所有调试输出。$logProvider您也可以注入一个替代的记录器实现,它将您的日志发送到一个聚合服务,或者类似的东西。默认$log服务的行为与console.

基本上:console.log== 硬编码函数,$log== 可覆盖服务


推荐阅读