Comment utiliser log4j pour voir en Jersey
Je suis nouveau sur log4j et suis en train de l'utiliser pour mieux comprendre pourquoi ma ressource est de fournir un 415 Media Type Not Supported
en-tête.
Je suis en utilisant les suivantes:
log4j.rootCategory=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %t %c:%L - %m%n
log4j.category.com.sun.jersey=DEBUG,stdout
Ce semble comme il devrait fonctionner, mais je me montre rien dans la console sur le POST d'atteindre cette application. Je sais qu'il est atteint de la demande, parce que si je désactiver l'application, l'Affiche jette une "connexion refusé" lorsque vous essayez de publier.
Voyez-vous d'autres informations de journalisation? Pas sûr au sujet de votre journalisation problème, mais votre Jersey problème est probablement que vous êtes absent de l'accepter ou de le type de contenu d'en-tête de votre demande et de votre service spécifique.
Non, je ne vois rien au sujet de la demande. C'est pourquoi j'essaie d'activer la journalisation pour elle. :-\
Non, je ne vois rien au sujet de la demande. C'est pourquoi j'essaie d'activer la journalisation pour elle. :-\
OriginalL'auteur Webnet | 2013-03-15
Vous devez vous connecter pour publier un commentaire.
Je crains que ce ne est pas aussi simple que l'ajout d'un Maillot de paquets pour votre Log4J config. Jersey, ne pas utiliser Log4J en interne; au lieu de cela, il utilise L'enregistrement de Java.
Si vous préférez travailler avec Log4J alors votre option pour configurer la journalisation de Java à utiliser le SLF4JBridgeHandler comme un enregistrement de gestionnaire.
Typiquement, cela se fait en spécifiant les propriétés d'enregistrement de fichier via JVM des biens, et l'ajout de gestionnaires pour le fichier de propriétés, comme suit:
spécifier les propriétés d'enregistrement de fichier
-Djava.util.logging.config.file=/path/to/logging.properties
ajouter le
SLF4JBridgeHandler
comme un enregistrement de gestionnaire dans lelogging.properties
fichierSLF4J peut alors se lier à Log4J, et vous pouvez alors utiliser votre
log4j.properties
comme d'habitude pour spécifier le niveau de journalisation pour le Jersey classes.En aparté, mon conseil, si vous êtes juste de le faire pour de rapide et sale de débogage-est:
attacher un débogueur pour votre application (en supposant que vous avez le code source de l'application);
ou de travailler avec l'enregistrement de Java directement. Pour configurer la journalisation de Java pour la sortie vers un fichier, ajoutez les lignes suivantes à votre
logging.properties
fichier comme indiqué plus haut --J'ai un débogueur, et il ne montre rien. Je pensais que log4j pourraient fournir plus de débogage/options de journalisation.
J'ai mis à jour ma réponse que j'ai suspecté que tu voulais juste faire quelques rapide et sale de débogage, auquel cas il suffit de travailler avec l'enregistrement de Java directement.
J'ai essayer d'ajouter ces lignes à l'exploitation forestière.propriétés et utilisé le
ConsoleHandler
au lieu deFileHandler
, mais ne vois pas de sortie dans mon journal. J'ai trouvé une solution de contournement, merci pour l'aide. +1OriginalL'auteur pestrella
Vous pouvez utiliser
JUL to SLF4J Bridge
pour cette première de l'ajouter à votre classpath. Vous pouvez utiliser cette option si vous utilisez maven:Ajouter ces lignes à un initialiseur statique bloc ou dans votre méthode principale:
Maintenant, vous pouvez contrôler le maillot, les journaux de votre
log4j.properties
fichier:Super réponse, doit être l'objet d'un
OriginalL'auteur Thunder
vous pouvez le voir sur
ici
il est exécuté
vous devez configurer votre
OriginalL'auteur nizar ouerghi
Je ne pouvais pas obtenir la journalisation de travail, mais j'ai été en mesure de déterminer comment obtenir le ContentType qui est ce dont j'avais besoin. J'ai dû ajouter à ma classe...
OriginalL'auteur Webnet