Masquer les messages d'info sous eclipse
david11001
Messages postés
14
Date d'inscription
Statut
Membre
Dernière intervention
-
david11001 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
david11001 Messages postés 14 Date d'inscription Statut Membre Dernière intervention -
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 ! :)
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:
- Masquer les messages d'info sous eclipse
- Eclipse java - Télécharger - Langages
- Comment récupérer les messages supprimés sur whatsapp - Guide
- Crystal disk info - Télécharger - Informations & Diagnostic
- Info pc - Guide
- Comment savoir si quelqu'un lit mes messages sur whatsapp - Accueil - Messagerie instantanée
17 réponses
Cela ressemble fortement à des messages Log4J
Log4J est-il inclut au projet? Si oui, c'est dans sa configuration qu'il faut chercher.
Log4J est-il inclut au projet? Si oui, c'est dans sa configuration qu'il faut chercher.
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 ?
Ça ne me dit rien mais peut-etre que la librairie httpclient s'en sert ?
"ç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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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 ?
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 ?
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 ;)
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 ;)
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 ?
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 ?
A mon avis il faut modifier le fichier log4J livré avec l'API HTTPCLIENT.
Le fichier doit se trouver dans le JAR
Le fichier doit se trouver dans le JAR
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?
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?
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
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
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é?
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é?
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}
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}
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.
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.
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é....
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é....