我需要帮助在log4j2.xml中配置HTTP-Appender。我已经多次尝试使用JSONLayout和PatternLayout配置它,但都没有工作。这是我的代码段。
<Http name="HTTP_APPENDER" url="http://localhost:8080/test/logRest" method="POST">
<Property name="x-java-runtime" value="$${java:runtime}" />
<PatternLayout pattern="%-5p | %d{yyyy-MM-dd HH:mm:ss} | [%t] %C{2} (%F:%L) - %m%n"/>
</Http>
=============================================== ======================
@RequestMapping(value = "/logRest", method = RequestMethod.POST)
public void logRest(HttpServletRequest request,HttpServletResponse response, Model model){
Enumeration<String> y = request.getHeaderNames();
while (y.hasMoreElements()) {
String param = y.nextElement();
String value = request.getHeader(param);
System.out.println(param + "=" + value);
}
System.out.println("====================================");
Enumeration<String> x = request.getParameterNames();
while (x.hasMoreElements()) {
String param = x.nextElement();
String value = request.getParameter(param);
System.out.println(param + "=" + value);
}
}
=============================================== =================== 我需要获取记录的数据,但它没有显示在标题,参数甚至请求属性中。我将非常感谢您将记录的数据发送到URL端点的任何形式的帮助。
干杯。
答案 0 :(得分:0)
见下面的解决方案:
/**
* Reads the request body from the request and returns it as a String.
*
* @param request HttpServletRequest that contains the request body
* @return request body as a String or null
*/
private String readRequestBody(HttpServletRequest request) {
try {
// Read from request
StringBuilder buffer = new StringBuilder();
BufferedReader reader = request.getReader();
String line;
while ((line = reader.readLine()) != null) {
buffer.append(line);
}
return buffer.toString();
} catch (Exception e) {
//logger.error("Failed to read the request body from the request.");
}
return null;
}