Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/362.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用HTTP PUT方法和创建循环的自定义日志处理程序_Java_Jakarta Ee_Logging_Ibm Cloud - Fatal编程技术网

Java 使用HTTP PUT方法和创建循环的自定义日志处理程序

Java 使用HTTP PUT方法和创建循环的自定义日志处理程序,java,jakarta-ee,logging,ibm-cloud,Java,Jakarta Ee,Logging,Ibm Cloud,我正在使用Java Web服务。我们希望在Bluemix上构建自己的定制日志服务。为了使用日志服务,我创建了一个自定义日志处理程序 日志处理程序在publish方法中生成请求,然后尝试通过http put方法将日志发送到日志服务 url = new URL(REQUEST_URL); connection = (HttpsURLConnection) url.openConnection(); //Content type connection.setRequestProper

我正在使用Java Web服务。我们希望在Bluemix上构建自己的定制日志服务。为了使用日志服务,我创建了一个自定义日志处理程序

日志处理程序在publish方法中生成请求,然后尝试通过http put方法将日志发送到日志服务

url = new URL(REQUEST_URL);         
connection = (HttpsURLConnection) url.openConnection();
//Content type
connection.setRequestProperty("Content-type", "application/json");
// Request Method
connection.setRequestMethod("PUT");
// return parameter
connection.setRequestProperty("Accept", "application/json");

if (body != null) {
  String length = Integer.toString(body.length());
  connection.setRequestProperty("Content-Length", length);
  connection.setDoOutput(true);
  connection.getOutputStream().write(body.getBytes("UTF8"));
}   
但是如果我使用FINE或FINEST级别,HTTPURLConnection也会记录日志并构建一个有限循环

Jun 03, 2015 8:01:52 AM sun.net.www.protocol.http.HttpURLConnection getInputStream
FINE: sun.net.www.MessageHeader@d423078012 pairs: {null: HTTP/1.1 202 Accepted}{X-Backside-Transport: OK OK}{Connection: Keep-Alive}{Transfer-Encoding: chunked}{Access-Control-Allow-Origin: *}{Content-Language: en-US}{Content-Type: application/json}{Date: Wed, 03 Jun 2015 08:01:52 GMT}{X-Cf-Requestid: ec6a22e8-123a-4699-6cf9-6d3d80818dda}{X-Powered-By: Servlet/3.1}{X-Client-IP: 184.172.29.74}{X-Global-Transaction-ID: 460768451}

Jun 03, 2015 8:01:51 AM sun.net.www.protocol.http.HttpURLConnection plainConnect
FINEST: Proxy used: DIRECT

我是否有逻辑思维错误,或者是否存在此问题的解决方法?

一个简单的解决方案是配置记录器,使其不记录消息,或者对URLConnection类甚至其整个包使用更高级别(如INFO)。有关如何使用java.util.logging执行此操作的信息,请参见


如果您的应用程序正在Bluemix中的Liberty buildpack上运行,您也可以尝试使用Liberty的server.xml来配置日志级别,请参阅。您可以推送服务器文件夹或服务器包,将此server.xml包含在您的应用程序包中。

您的问题有点不清楚,可以解释更多吗?URLConnection也使用日志记录,因此当您触发put时,会生成日志记录,并将其放入处理程序中。您需要在处理程序的publish方法中输入数据,并对由于重新进入而发生的所有日志记录进行调整。