javascript - 在 AngularJS 中,console.log 和 $log.info 有什么区别?
问题描述
我已经看到两者都使用过,我看不出它们的输出有任何区别。除了不需要注入 $log 的 console.log 之外,还有一个优势吗?
var url = "http://www.google.com";
console.log(url);
$log.info(url);
两个语句都将字符串返回到控制台窗口。如果 url 是一个对象,两者都会将该对象的属性返回到控制台窗口。
解决方案
该服务的主要目的是让您有一个稳定的实现(跨浏览器/节点的可用性没有差异),因此您可以使用(例如在生产构建或单元测试期间)ng.$log
关闭所有调试输出。$logProvider
您也可以注入一个替代的记录器实现,它将您的日志发送到一个聚合服务,或者类似的东西。默认$log
服务的行为与console
.
基本上:console.log
== 硬编码函数,$log
== 可覆盖服务
推荐阅读
- c++ - LLDB 调试 - 忽略特定类的变量以加快调试速度
- css - 如何向 ASP.NET Web 窗体添加新的 boostrap 主题?
- reactjs - 有什么方法可以在反应组件之外获取当前的 intl 值
- java - Linux 中的 Watchdata 检查失败 - java.security.KeyStoreException: PKCS11 not found
- javascript - 如何仅在具有特定宽度 JS 的屏幕上显示
- php - Symfony 4 具有默认回退的多语言路由?
- ios - iOS 文本标签在模拟器和旧设备上工作,在新设备上消失
- python - Python 初学者在 Coursera 上参加 Python for Everyone 课程 - 为数字分配 5.2 苦苦挣扎
- apache-spark - 来自 Spark 的条件 Redis 更新
- java - 大二进制数