我正在使用ionic / cordova来构建移动应用程序。为了调试应用程序,我想使用文件系统写一个日志文件并将其存储到设备中(即SD卡中的某些位置)。有没有办法使用phonegap来实现这个功能。
有人可以建议一些有用的链接吗?
答案 0 :(得分:1)
将此行放入log.bat文件,这将打开控制台并记录设备上发生的所有事情。
adb logcat CordovaActivity:V CordovaWebView:V CordovaWebViewClient:V IceCreamCordovaWebViewClient:V CordovaLog:V *:S
更新:要在文件上写入: 要跟随good example,但需要处理错误回调,以获取错误
window.resolveLocalFileSystemURL(cordova.file.dataDirectory, function(dir) {
console.log("got main dir",dir);
dir.getFile("log.txt", {create:true}, function(file) {
console.log("got the file", file);
logOb = file;
writeLog("App started");
});
});
function writeLog(str) {
if(!logOb) return;
var log = str + " [" + (new Date()) + "]\n";
console.log("going to log "+log);
logOb.createWriter(function(fileWriter) {
fileWriter.seek(fileWriter.length);
var blob = new Blob([log], {type:'text/plain'});
fileWriter.write(blob);
console.log("ok, in theory i worked");
}, fail);
}
document.querySelector("#actionOne").addEventListener("touchend", function(e) {
//Ok, normal stuff for actionOne here
//
//Now log it
writeLog("actionOne fired");
}, false);
document.querySelector("#actionTwo").addEventListener("touchend", function(e) {
//Ok, normal stuff for actionTwo here
//
//Now log it
writeLog("actionTwo fired");
}, false);
最后:
function justForTesting() {
logOb.file(function(file) {
var reader = new FileReader();
reader.onloadend = function(e) {
console.log(this.result);
};
reader.readAsText(file);
}, fail);
}
这里是source的解释。
我希望有所帮助,祝你好运
答案 1 :(得分:1)
您可以通过在应用中添加下一个插件来实现:
答案 2 :(得分:0)
您可以使用cordova方式执行此操作,编写名为log.txt的文件并将您的日志放在那里。
请按照此tutorial了解如何在cordova中执行此操作。
for ionic: 您可以将这些代码放在控制器中。