当我在Cordova上的iOS中运行我的WKWebview应用程序时,我使用
console.debug
和console.info
记录在我的Web应用程序中的信息不会输出到Xcode控制台或日志中。然而console.log
消息确实被输出。我该如何获取所有的日志消息输出?console.debug
和console.info
记录在我的Web应用程序中的信息不会输出到Xcode控制台或日志中。然而console.log
消息确实被输出。我该如何获取所有的日志消息输出?cordova.js
的源代码,我意识到在 iOS 环境下运行时,Cordova 会覆盖掉控制台对象,这也就是为什么我的 console.info
消息无法被记录的原因。默认情况下,只有 console.log
、console.error
和 console.warn
消息会被输出。原因是因为 Cordova 日志支持以下日志级别:
<-- 默认级别
console.warn
、console.error
和 console.log
打印的消息才会输出。如需更改日志级别,请按以下步骤操作:
1) 类似于使用 Cordova 的 exec
函数加载其模块一样,在 JavaScript 中加载 Cordova 日志器模块。要加载日志记录器模块,请将以下内容添加到您的 JavaScript 文件中:
var logger = require('cordova/plugin/ios/logger');
2) 接下来,如果您想将默认的日志记录级别从WARN更改为其他级别(如DEBUG),您只需要在初始化代码的适当位置添加以下调用即可。您应该根据您的应用程序决定在哪里插入此代码,但是步骤1中声明的logger
模块必须在作用域内。
logger.level('DEBUG');
您可以使用如上所述的级别:'LOG', 'ERROR', 'WARN', 'INFO', 'DEBUG'
或者,您还可以使用Cordova日志记录模块定义的级别常量:logger.LOG, logger.ERROR, logger.WARN, logger.INFO, logger.DEBUG
。我没有尝试过,但它应该可以工作。
希望这能帮助其他人节省时间,因为我找不到任何关于此的文档。
cordova
命名空间上使用require
:var logger = cordova.require('cordova/plugin/ios/logger');
- DaveAlden