google-closure库还包含一个大多数开发人员应该熟悉的日志系统。这很好。不幸的是,您从中获得的输出不像console.log
某些浏览器/插件提供的那样具有表现力。
例如,如果您console.log(window)
在 Chrome 中编写,控制台将显示一个您可以交互检查的对象。使用 google-closure 记录器时,它不会那样做。我假设它会在内部简单地将对象的字符串表示形式传递给console.log
. 所以你失去了很多便利。
正因为如此,我仍然继续使用console.log
. 但是,如果运气不好,您忘记将其从生产代码中删除,您的代码将在没有的浏览器中中断console.log
(例如:IE)。
或者,可以通过首先检查是否存在来防止这种情况,例如:
window.console && window.console.log && console.log(...)
或者:
if (DEBUG) {
console.log(...)
}
但这两种解决方案都远非完美。而且,鉴于该库有一个日志框架,能够使用它会很好。就像现在一样,我发现console.log
有时更有用。
所以我的问题(tl/dr):console.log(x)
当我写myLogger.info(x)
而不是使用字符串表示时,我可以让 google-closure 用户x
吗?