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中有一种方法,当文档被张贴时,我可以截取并更改请求有效载荷并继续,因此它将删除数组(我假设它不喜欢)?
谢谢。