2

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

有许多方法,但似乎没有一个有效。

任何工作示例?其他可行的方法?

4

3 回答 3

1

正确的做法是覆盖Debug ConsoleiOS 默认为CDVDebugConsole. 子类那个类然后做这样的事情:

- (void)log:(CDVInvokedUrlCommand*)command
{
    #ifdef DEBUG
        [super log:command];
    #endif
}

请记住更新您config.xml以使用新插件。

于 2013-02-27T15:33:59.583 回答
1

包装可能是一个解决方案。如果没有 3rd 方库正在使用实际的控制台,并且您只想使用 log 方法。

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

    }
}

konsole.log('fff');

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

于 2012-11-17T18:50:12.760 回答
0

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

特征:

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

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

于 2014-11-07T08:10:12.547 回答