Log4JavaScript服务器端接收 [英] Log4JavaScript server-side receiving
问题描述
我试图使用Log4Javascript将客户端错误发送到服务器,然后可以将结果写入文件。我正在使用AjaxAppender尝试将数据发送到服务器。我从一个简单的Hello world开始,看看我是否能够弄清楚如何接收错误消息,因为文档中字面意思是没有提供服务器端代码。
基本上,我对此比较陌生。一个优秀的Java程序员,HTML,CSS,Javascript等等。但是我最近深入到了JSP的世界,我试图用它来接收错误消息,并且(现在)将它们打印到调试控制台。
我的index.jsp文件中包含最少的代码。只是一个h1标签,上面写着Hello World和指向我的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 + - + attribVal UE);
}
%>
将以下内容输出到控制台:
logger - test.Logger@5a5517ef
我已经做了很多谷歌搜索,但到目前为止没有提供任何与服务器端有关的帮助。我很可能错过了一些东西,所以如果有人经历过这个,并且有任何提示,甚至是一个非常简单的例子,那就是如何从AjaxAppender接收Log4JavaScript的消息,我将不胜感激!
$ b $如果您想发送JSON,请使用解决方案 您的 AjaxAppender
中的nofollow> JsonLayout
:
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
的文档。
I'm trying to use Log4Javascript to send client-side errors to the server where results can then be written to file. I'm using the AjaxAppender to try to send the data to the server. I started with a simple "Hello world" to see if I can figure out how to receive error messages because the documentation literally says "no server-side code is provided".
Basically, I'm relatively new to this. A good Java programmer, HTML, CSS, Javascript, etc. But I've recently dived into the world of JSP and I was trying to use that to receive the error messages and (for now) print them to the debug console.
I have minimal code in my index.jsp file. Just an h1 tag that says "Hello World" and links to my javascript and jquery.
My Javascript is as follows:
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");
}
And I wasn't sure how the data would be passed to the server so I decided to list all attributes and start there. So far, I have the following as server-side code (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);
}
%>
Which prints the following to the console:
logger - test.Logger@5a5517ef
I've done a lot of Google searches but came up with nothing that helps with the server side so far. It's quite possible that I missed something so if anyone has gone through this and has any tips or even a VERY bare-bones example of how to receive messages from the AjaxAppender for Log4JavaScript, I would greatly appreciate it!
If you want to send JSON, use a JsonLayout
in your 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");
This will send the logging message as HTTP form data with one name/value pair whose name is data
and whose value is a JSON representation of your logging message.
This is covered in the documentation for AjaxAppender
.
这篇关于Log4JavaScript服务器端接收的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!