我试图使用Log4Javascript将客户端错误发送到服务器,然后可以将结果写入文件。我正在使用AjaxAppender尝试将数据发送到服务器。我从一个简单的"Hello“开始,看看我是否能够知道如何接收错误消息,因为文档字面上写的是”没有提供服务器端代码“。
基本上,我对这件事还比较陌生。一个优秀的Java程序员,HTML,CSS,Javascript等等。但是我最近深入到JSP的世界,我试图用它来接收错误消息,(目前)将它们打印到调试控制台。
我的index.jsp文件中有最少的代码。只是一个h1标记,上面写着"Hello“,并链接到我的javascript和jquery。
我的Javascript如下:
var url = "logger.jsp";
$(function(){
var log = log4javascript.getDefaultLogger();
var ajaxAppender = new log4javascript.AjaxAppender(url);
ajaxAppender.addHeader("Content-Type", "application/json");
log.addAppender(ajaxAppender);
window.onerror = function(errorMsg, url, lineNumber){
log.fatal("Uncaught error "+errorMsg+" in "+url+", line "+lineNumber);
};
log.info("Hello World");
}我不知道如何将数据传递给服务器,所以我决定列出所有属性并从那里开始。到目前为止,我有以下服务器端代码(logger.jsp):
<%@page import="java.util.*"%>
<%
for (Enumeration e = session.getAttributeNames(); e.hasMoreElements(); ) {
String attribName = (String) e.nextElement();
Object attribValue = session.getAttribute(attribName);
System.out.println(attribName+" - "+attribValue);
}
%> 它将下列内容打印到控制台:
logger - test.Logger@5a5517ef我已经做了很多谷歌搜索,但到目前为止没有任何帮助服务器端。很有可能我错过了一些东西,所以如果有人经历过这个过程,并且有任何技巧,甚至是一个关于如何接收来自AjaxAppender for Log4JavaScript的消息的简单例子,我会非常感激的!
发布于 2014-07-29 13:58:58
如果要发送JSON,请在JsonLayout中使用AjaxAppender
var log = log4javascript.getDefaultLogger();
var ajaxAppender = new log4javascript.AjaxAppender(url);
var jsonLayout = new log4javascript.JsonLayout();
ajaxAppender.setLayout(jsonLayout);
log.addAppender(ajaxAppender);
log.info("Hello World");这将以HTTP数据的形式发送日志消息,具有一个名称/值对,其名称为data,其值为日志消息的JSON表示。
这是在AjaxAppender中讨论的。
https://stackoverflow.com/questions/25000207
复制相似问题