Log4Javascriptとロギングにはとても新しくなっています。AjaxAppenderリクエストのデータを設定するLog4Javascript
ログをCouchDBにPOSTしようとしています。サーバーからエラーが表示されます。
{"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を使用してリクエストペイロードの形式を変更する方法はありますか?
- もしそうでなければ、ドキュメントがPOSTされたときに、リクエストペイロードを傍受して変更し続けることができるので、配列が削除されるということがCouchDBにありますか?
ありがとうございます。