我想建立一個小的自定義記錄器,我注意到我的數組推動,我得到額外的括號,並不知道發生了什麼。下面是示例輸出使用數組推動獲得額外的括號
{
"GuestCheckout": [
{
"log": "Product Id: 78-1212121",
"screenshot": ""
},
[
{
"log": "Product Color: undefined Product Size: 6 Lb Qty: 2",
"screenshot": ""
}
],
[
{
"log": "",
"screenshot": "results/screenshots/Guest Checkout - Failed.jpg"
}
]
]
}
這裏是具有記錄功能
var logs = {},
curLogs = [];
module.exports = {
logger: function(log, screenshot) {
isScreenshot = screenshot || "false";
curTestName = testName.replace(/ /g,'');
curLogs = [];
if (isScreenshot == "true") {
curLogs.push({
"log": "",
"screenshot": log
});
} else {
curLogs.push({
"log": log,
"screenshot": ""
});
}
if (curTestName in logs) {
logs[curTestName].push(curLogs);
} else {
logs[curTestName] = curLogs;
}
console.log(curLogs);
}
}
您將與第一個日誌和截圖注意它的周圍{}包裹,但與包裹第二實例類[]。這個記錄器功能被多次調用。我認爲這與推動建設這種方式有關,但我可能是錯的。由於
UPDATE:有了一個解決方案輸出看起來現在這個樣子
{
"GuestCheckout": [
[
{
"log": "Product Id: 36-5173230",
"screenshot": ""
}
],
[
{
"log": "Product Color: undefined Product Size: 6 Lb Qty: 2",
"screenshot": ""
}
],
[
{
"log": "",
"screenshot": "results/screenshots/Guest Checkout - Failed.jpg"
}
]
]
}
現在的問題是所有{日誌,截圖}被包裹在括號內。
您可以顯示來電記錄功能的代碼?傳遞給它的數據的來源和類型是什麼? – bloodyKnuckles 2014-11-05 21:55:51
common.logger(「Product Id:」+ product.id); – jrock2004 2014-11-05 21:57:12