如何在Cordova / PhoneGap中关闭console.log()进行生产?

时间:2012-11-17 18:37:36

标签: javascript debugging cordova mobile

如何在Cordova / PhoneGap中关闭生产的JavaScipt console.log()?在控制台中禁用调试信息可能会大大加快移动应用程序的速度。

有很多方法,但似乎都没有。

任何有效的例子?其他可行的方法?

3 个答案:

答案 0 :(得分:1)

包装可能是一种解决方案。如果没有第三方库正在使用实际控制台,并且您只想使用日志方法。

var konsole = {
    log: function () {
        if (env === 'dev') {
            console.log(arguments)
        }

    }
}

konsole.log('fff');

env是环境变量的替代品,您可以从某种注册表中获取。

答案 1 :(得分:0)

正确的方法是覆盖iOS上默认为Debug Console的{​​{1}}插件。该类的子类然后做这样的事情:

CDVDebugConsole

请务必更新- (void)log:(CDVInvokedUrlCommand*)command { #ifdef DEBUG [super log:command]; #endif } 以使用新插件。

答案 2 :(得分:0)

我建议使用:https://github.com/sunnykgupta/jsLogger

特点:

  • 它安全地覆盖了console.log。如果控制台不可用,请注意(哦,是的,你也需要考虑它。)
  • 存储所有日志(即使它们被禁止)以供日后检索。
  • 处理主要的控制台功能,如日志,警告,错误,信息。
  • 可以修改,并会在出现新建议时更新。

免责声明:我是该插件的作者。