Log4Javascript AjaxAppender请求头
我正在尝试使用log4javascript的ajaxAppender向我的应用程序中的服务器发送一批消息 以下是我初始化日志的方式:Log4Javascript AjaxAppender请求头,javascript,logging,log4javascript,Javascript,Logging,Log4javascript,我正在尝试使用log4javascript的ajaxAppender向我的应用程序中的服务器发送一批消息 以下是我初始化日志的方式: var log = log4javascript.getDefaultLogger(); log.info('Logging initialized'); var ajaxAppender = new log4javascript.AjaxAppender("http://localhost:8080/mobile2/logger/logm
var log = log4javascript.getDefaultLogger();
log.info('Logging initialized');
var ajaxAppender = new log4javascript.AjaxAppender("http://localhost:8080/mobile2/logger/logme.json");
ajaxAppender.addHeader("Content-Type","application/json;charset=utf-8");
ajaxAppender.setBatchSize(10);
var jsonLayout = new log4javascript.JsonLayout(false,true);
ajaxAppender.setLayout(jsonLayout);
log.info(jsonLayout.getContentType());
log.addAppender(ajaxAppender);
我在服务器上使用spring及其@RequestBody标记来读取json对象
这适用于我的其他服务器请求,但当使用ajaxAppender时,它总是会失败并出现此错误;
严重:Servlet spring的Servlet.service()引发异常
java.lang.IllegalArgumentException:无效的令牌字符“”,在令牌“x-www-form-urlencoded,application/json”中
我能看到的唯一区别是,当我检查请求头时,日志记录头的内容类型如下:
内容类型:
application/x-www-form-urlencoded,application/json;字符集=UTF-8
而我的其他json请求只有第二个字符串'application/json;字符集=UTF-8'
是否可以在不使用第一种内容类型的情况下发送ajax?不知道还有什么可以尝试的
感谢Ok感谢更新Log4JavaScript添加了两个
内容类型
标题:application/x-www-form-urlencoded
和application/json;字符集=UTF-8
。在我最初测试的浏览器中,只发送了最新的头,但Chrome至少发送了两个值,用逗号分隔。我已经添加了一个解决方案,不久将发布一个新版本。是的,我用Chrome做所有的浏览器测试。感谢您调查此事。我昨天试图发布一个新版本,但被Soureforge的上传程序破坏所拒绝。我今天晚些时候再试。嗨,蒂姆,谢谢你的新版本。看起来这解决了内容类型问题。不过我注意到了另一个问题。请求有效负载(在chrome中)仍被编码。我也在safari中进行了测试,并且对post源代码进行了编码。这导致我的jackson mapper失败。JsonLayout中是否有任何东西可以对请求进行编码?我对服务器的其他请求显示了正确的JSON格式。请让我知道。