我需要通过使用app.js文件末尾的某个函数将所有Ti.API.info字符串添加到数组中。如何在控制台上打印完所有字符串到数组。例如
Ti.API.info("Hello");
Ti.API.info("Good Morning");
Ti.API.info("Good Afternoon");
Ti.API.info("Good Evening");
在代码的最后我需要一个函数来检索和存储数组中的所有字符串。我怎么能这样做,任何人都可以帮助我吗?
答案 0 :(得分:1)
您可以覆盖现有的Ti.API.info功能,但是,不是强烈推荐的,因为人们可能不知道您更改了它(即使所做的更改不是' t影响初始行为)。
我认为最好的方法是定义自己的记录器。
<强> customLogger.js 强>
var Logger = function () {
/* Define an array to store logs */
this._logs = [];
}
Logger.prototype.info = function () {
/* Iterate over each msg and store them */
for(var i = 0, msg; msg = arguments[i]; i++) {
this._logs.push({date: new Date(), msg: msg.toString()});
}
/* Do the classic log */
Ti.API.info.apply(Ti.API, arguments);
}
Logger.prototype.getLogs = function () {
return JSON.stringify(this._logs, null, "\t");
}
/* Export The API */
var logger = new Logger(Ti.API);
exports.info = function() {
Logger.prototype.info.apply(logger, arguments);
};
exports.getLogs = function () {
return Logger.prototype.getLogs.apply(logger);
};
然后,在 app.js
中var Logger = require("customLogger"); // Adapt the path to suits your architecture
Logger.info("My log message");
// ...
Ti.API.debug("Those are my logs:\n", Logger.getLogs());