[
https://issues.apache.org/jira/browse/HTTPCLIENT-696?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Oleg Kalnichevski resolved HTTPCLIENT-696.
------------------------------------------
Resolution: Fixed
Fix Version/s: (was: 4.0 Final)
4.0 Beta 3
I migrated the HttpClient Logging guide to the HttpClient 4.0 site and also
fixed the issue with JUL configuration.
http://hc.apache.org/httpcomponents-client/logging.html
Please review.
Oleg
> java.util.logging configuration examples does not work as intended
> ------------------------------------------------------------------
>
> Key: HTTPCLIENT-696
> URL: https://issues.apache.org/jira/browse/HTTPCLIENT-696
> Project: HttpComponents HttpClient
> Issue Type: Bug
> Components: Documentation, Examples
> Affects Versions: 3.1 Final
> Environment: JDK 1.6, Windows XP
> Reporter: Elias Zaretsky
> Priority: Minor
> Fix For: 4.0 Beta 3
>
>
> java.util.logging configuration examples do not work as intended. Those can
> be found here:
> http://jakarta.apache.org/httpcomponents/httpclient-3.x/logging.html
> Steps to reproduce:
> 1. Create a simple project using HttpClient (see listing below) and JDK 1.6
> (I suppose it is JDK 1.4 or higher, but I did not test anything other than
> 1.6). Without log4j in the classpath and without any commons-logging system
> properties set, java.util.logging is automatically selected by
> commons-logging.
> 2. Create logging.properties file as shown in any of the java.util.logging
> examples
> 3. Run a program, passing -Djava.util.logging.config.file=logging.properties
> argument to the JVM
> Expected results:
> Quite a few log messages should be sent to System.err
> Actual results:
> Unless there is an I/O error encountered, no log messages are sent to
> System.err
> The problem, as far as I can see, is caused by the default logging level of
> java.util.logging.ConsoleHandler, which is set to INFO. In order for any log
> messages to go through, the log hadler log level needs to be lower than
> logged messages log level. Adding the following line to all java.util.logging
> examples should fix the problem:
> java.util.logging.ConsoleHandler.level = ALL
> --- Get.java -----------------------------------------
> import java.io.IOException;
> import java.io.InputStreamReader;
> import java.io.Reader;
> import org.apache.commons.httpclient.HostConfiguration;
> import org.apache.commons.httpclient.HttpClient;
> import org.apache.commons.httpclient.HttpException;
> import org.apache.commons.httpclient.HttpMethodBase;
> import org.apache.commons.httpclient.methods.GetMethod;
> public class Get {
> /**
> * @param args
> */
> public static void main(String[] args) {
>
> HttpClient client = new HttpClient();
> HttpMethodBase get = new GetMethod("http://www.apache.org");
>
> try {
> int code = client.executeMethod(get);
> System.out.println("Status code: " + code);
>
> String csn = get.getResponseCharSet();
> System.out.println("Charset is: " + csn);
>
> long len = get.getResponseContentLength();
> System.out.println("Length is: " + len);
> len = len < 0 ? 200 : len;
>
> StringBuilder buf = new StringBuilder((int)len);
> Reader r = new
> InputStreamReader(get.getResponseBodyAsStream(), csn);
> for (int c = r.read(); c >= 0; c = r.read()) {
> buf.append((char)c);
> }
>
> System.out.println("Body:");
> System.out.println(buf.toString());
>
> } catch (HttpException e) {
> e.printStackTrace();
> } catch (IOException e) {
> e.printStackTrace();
> } finally {
> get.releaseConnection();
> }
> }
> }
> --- logging.properties ----- From examples ----------------------
> .level=INFO
> handlers=java.util.logging.ConsoleHandler
> java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
> httpclient.wire.header.level=FINEST
> org.apache.commons.httpclient.level=FINEST
> --------------------------------------------------------------------------------
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]