Masquer les messages d'info sous eclipse

Fermé
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013 - 3 mars 2013 à 18:07
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013 - 3 mars 2013 à 22:27
Bonjour !

Il arrive lorsque j'essaye de récupérer le code source d'une page à l'aide de httpclient.execute() que j'obtienne le message d'erreur suivant :

3 mars 2013 17:47:34 org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: I/O exception (java.net.SocketException) caught when processing request: Connection reset
3 mars 2013 17:47:34 org.apache.http.impl.client.DefaultRequestDirector tryExecute
INFO: Retrying request

Je me suis rendu compte après de longues recherches que ce n'étaient pas des message d'erreur mais des message du type "INFO", et que ces messages n'étaient pas synonymes d'erreur dans le programme.

Je cite un site anglais :

It's clearly tagged as 'INFO', as in an informational message, and not indicative of any problem with the code?" I find that this question often comes from users of Eclipse, and that the Eclipse console has colored the message red, and people are so conditioned to see "red == bad" that they react to the format of the message rather than the content. The content of the message is flagged at a level that means, "Hey, nothing is wrong, we're just telling you about it."

Etant donné que ça prend beaucoup de place et que ça gêne la lecture des données sous eclipse, je souhaiterai ne plus afficher ces messages d'info. Comment puis-je faire pour désactiver ces messages d'information sous eclipse ?

Merci d'avance ! :)
A voir également:

17 réponses

arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 18:18
Cela ressemble fortement à des messages Log4J

Log4J est-il inclut au projet? Si oui, c'est dans sa configuration qu'il faut chercher.
0
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
3 mars 2013 à 18:23
Je ne sais même pas ce que c'est donc probablement pas inclut au projet. Comment fait t-on pour vérifier s'il est inclut ou pas ?

Ça ne me dit rien mais peut-etre que la librairie httpclient s'en sert ?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 18:24
Sans doute, puisque Log4J est aussi de la fondation Apache :

http://logging.apache.org/log4j/1.2/
0
KX Messages postés 16741 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 30 mai 2024 3 016
3 mars 2013 à 18:29
"ça gêne la lecture des données sous eclipse, je souhaiterai ne plus afficher ces messages d'info."
Tu peux fermer System.err tu n'auras alors plus que les messages de System.out qui s'afficheront.

System.err.close();
Cependant, je t'invite à regarder la documentation de ce que tu utilises (ton serveur? apache). Il y a surement une option pour désactiver les affichages d'avertissements.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
3 mars 2013 à 18:46
Bon j'ai regardé pour httpclient et ça parle effectivement de log4j donc ça doit venir de là.

Par contre après quand je suis sur http://logging.apache.org/log4j/1.2/ je vois pas trop comment m'y prendre ni quoi chercher. :/

Auriez vous une petite piste ?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 18:47
Il doit y avoir un fichier de configuration.

Il faudrait regarder dans le JAR du client http Apache
0
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
Modifié par david11001 le 3/03/2013 à 19:03
D'accord et comment puis-je trouver ce fichier de configuration ? (Désolé si je pose des questions assez stupides mais ce sont mes premiers pas en java et je n'en ai strictement aucune idée ^^)

Il faut que je fasse dérouler JRE System Librairy dans mon menu de gauche qui contient les JAR ? Je le trouve où ensuite ?

Edit : Je viens de trouver celà : http://hc.apache.org/httpclient-3.x/logging.html
Je cherche ;)
0
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
3 mars 2013 à 19:33
Bon j'ai mis un fichier log4j.properties dans mon dossier workspace/monprojet/ contenant :

log4j.rootLogger=INFO

log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p [%c] %m%n

log4j.logger.httpclient.wire.header=DEBUG
log4j.logger.org.apache.commons.httpclient=DEBUG

Mais pas d'amélioration.

J'ai manqué quelque chose ?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 19:38
A mon avis il faut modifier le fichier log4J livré avec l'API HTTPCLIENT.

Le fichier doit se trouver dans le JAR
0
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
3 mars 2013 à 19:42
Mais où est ce que je peux trouver ce fameux JAR ?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 19:52
A moins qu'Eclipse contienne des lib apache :

3 mars 2013 17:47:34 org.apache.http.impl.client.DefaultRequestDirector tryExecute

Tu n'as pas importé la librairie Apache Http Client à ton projet?
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 20:01
Aheum OK.

Rien à voir avec e que j'ai dit.

Tu pourrais donner le code complet?
0
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
3 mars 2013 à 20:02
Non je ne l'ai pas importé dans mon projet.
Si je ne dis pas de bêtise, il me semble que c'est une librairie native.

j'ai juste fait : import org.apache.http.client.HttpClient;
en haut de ma classe et ça fonctionne
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 20:09
Normalement non.

Eclipse ne la connaît même pas. Elle est donc forcément importée quelque part.

Et d'ailleurs je viens de voir que log4j n'était pas inclus dans le package Apache HTTP Client

Note: Log4j is not included in the HttpClient distribution.

On parle bien d'un Eclipse de base que vous avez installé ou c'est un Eclipse déjà pré configuré?
0
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
Modifié par david11001 le 3/03/2013 à 20:35
Effectivement j'avais du l'inclure sans le savoir ou alors je m'en souviens pas. Désolé pour cette petite erreur de ma part. :/

J'ai donc httpclient-4.2.3.jar dans Referenced libraries. (dans mon menu de gauche)

Quand je déroule j'ai bien un "dossier" nommé org.apache.http.client.

Si je déroule ce dossier (ou package je sais pas comment ça s'appelle) j'ai une liste de classes et un fichier version.properties mais pas de log4j.properties.

C'est quand même lui que je dois modifier ?

Il contient ceci :
info.module = HttpClient
info.release = 4.2.3
info.timestamp = ${mvn.timestamp}
0
arth Messages postés 9374 Date d'inscription mardi 27 septembre 2005 Statut Contributeur Dernière intervention 16 décembre 2016 1 291
3 mars 2013 à 21:11
Dans le lien que vous avez mis, il y a une façon de désactiver les logs.

Normalement il faut les mettre à OFF. Normalement la première méthode de log est celle utilisée, donc il faut utiliser celle-ci pour désactiver.

Si Log4J n'est pas présent, il ne reste que 2 méthodes possibles.

L'une d'elle est la bonne, normalement il ne faut pas mettre DEBUG qui est le mode le plus avancé de Logging, mais OFF si tout va bien.
0
david11001 Messages postés 14 Date d'inscription dimanche 24 février 2013 Statut Membre Dernière intervention 3 mars 2013
3 mars 2013 à 22:27
Je n'ai pas trouvé le fameux log4j.properties mais je ne sais toujours pas exactement où le trouver. :/

J'ai aussi essayé de mettre ça dans mon code :
System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.NoOpLog");
System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true");
System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "ERROR");
System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.commons.httpclient", "ERROR");

Mais ça n'a rien changé....
0