0
我對Log4Javascript和日誌記錄非常陌生,所以請耐心等待。配置AjaxAppender請求的數據Log4Javascript
我正在嘗試將日誌發佈到CouchDB。我收到來自服務器的錯誤:
{"error":"bad_request","reason":"Document must be a JSON object"}
好的很酷。所以它不是JSON對象,我可以修復它。
除了我無法弄清楚如何。
我使用的代碼是:
var log = log4javascript.getLogger();
var ajaxAppender = new log4javascript.AjaxAppender(url);
var layout = new log4javascript.JsonLayout(true, false);
ajaxAppender.addHeader("Content-Type", "application/json");
ajaxAppender.setLayout(layout);
log.addAppender(ajaxAppender);
// Test the logger
log.debug(JSON.stringify("Hello world!"));
到處都找遍了說,這是把它作爲一個JSON對象的方式,所以我想這是正確的。
當我看着請求負載,我認識到,CouchDB的服務器必須不喜歡被格式化的方式,就像這樣:
[
{
"logger": "[anonymous]",
"timestamp": 1487961971605,
"level": "DEBUG",
"url": "url.to.couchdb",
"message": "\"Hello world!\""
}
]
正如你可以看到,這是內部的JSON對象一個數組,我相信這是我的問題所在。
所以我的問題是:
- 我錯過了在建立
AjaxAppender
和JsonLayout
的東西嗎? - 有沒有辦法改變請求有效載荷的格式與log4javascript?
- 如果沒有,CouchDB中有一種方法,當文檔被張貼時,我可以截取並更改請求有效載荷並繼續,因此它將刪除數組(我假設它不喜歡)?
謝謝。