获取所有 Ti.API.info 字符串到一个数组
Get all the Ti.API.info strings to an array
我需要使用 app.js 文件末尾的一些函数将所有 Ti.API.info 字符串放入一个数组,如何在打印后将所有这些字符串放入数组在控制台上。例如
Ti.API.info("Hello");
Ti.API.info("Good Morning");
Ti.API.info("Good Afternoon");
Ti.API.info("Good Evening");
在代码的末尾,我需要一个函数来检索和存储数组中的所有字符串。我该怎么做,谁能帮帮我?
您可以覆盖现有的 Ti.API.info 函数,但是, 不强烈推荐 因为人们可能不知道您更改了它(即使所做的更改并没有'影响初始行为)。
我认为最好的方法是定义自己的记录器。
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());
我需要使用 app.js 文件末尾的一些函数将所有 Ti.API.info 字符串放入一个数组,如何在打印后将所有这些字符串放入数组在控制台上。例如
Ti.API.info("Hello");
Ti.API.info("Good Morning");
Ti.API.info("Good Afternoon");
Ti.API.info("Good Evening");
在代码的末尾,我需要一个函数来检索和存储数组中的所有字符串。我该怎么做,谁能帮帮我?
您可以覆盖现有的 Ti.API.info 函数,但是, 不强烈推荐 因为人们可能不知道您更改了它(即使所做的更改并没有'影响初始行为)。
我认为最好的方法是定义自己的记录器。
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());