我正在尝试使用 log4js 进行一些前端日志记录,并使用AjaxAppender将日志发送到使用 Java 的服务器后端。这是我用来初始化记录器的前端代码,我确保记录器与 DefaultLogger 一起工作,并切换到 AjaxAppender。
var log = log4javascript.getLogger();
var ajaxAppender = new log4javascript.AjaxAppender("logger");
ajaxAppender.setTimed(true);
ajaxAppender.setTimerInterval(10000); // send every 10 seconds (unit is milliseconds)
log.addAppender(ajaxAppender);
//convert to JSON format
jsonLayout = new log4javascript.JsonLayout(false, false); //readable, combineMessages
ajaxAppender.setLayout(jsonLayout);
ajaxAppender.addHeader("Content-Type", "application/json");
log.info("Begin Session")
这是用 Java 编写的后端代码,它获取从前端发送的日志。
@RequestMapping(value = "/logger", method = RequestMethod.POST)
@ResponseBody
public String logger(HttpServletRequest request, HttpServletResponse response) throws InterruptedException, IOException, SQLException {
System.out.println("Inside Logger");
System.out.println("Log:"+request);
return "Test successful:" + request;
}
但是,我收到错误 XHR failed loading POST 并且代码似乎没有进入 logger 函数内部(终端中没有打印“Inside Logger”)。我对使用 Ajax 并在前端和后端之间发送请求相当陌生,是否有 XMLHttpRequest 没有通过的原因?
谢谢!