11 votes

grails et débogage des UrlMappings

Dans Grails, comment puis-je ajouter du code à UrlMappings.groovy (ex : println) afin que je puisse déterminer quel est l'URI de la requête et quel mapping est touché (s'il y en a un) ?

Contexte :

Dans cette situation, deux serveurs servent des choses différentes en fonction de l'extension du fichier. Les deux serveurs doivent donc toujours voir les extensions de fichiers pour que le traitement des erreurs puisse se poursuivre. Dans le cas contraire, les serveurs s'embrouillent et le premier serveur affiche une page 404 au lieu de notre page 500.

La vision d'ensemble consiste à prendre une réponse 500 due à quelque chose comme une exception NullPointerException et à la retracer à travers le code pour voir ce qui se passe.

J'ai ajouté le code suivant qui se trouve à http://jetlet.blogspot.com/2010/08/grails-exception-handling-with-response.html :

"500" (controller: "error", action: "internalError")

En testant cela, je lance volontairement une NullPointerException (NPE). Le traitement 500 est appelé et la page 500 est affichée lorsque l'on saisit l'URL dans la barre d'adresse du navigateur. Cependant, lorsque j'envoie un formulaire au serveur et que le code de traitement explose volontairement avec une NPE, le code de gestion "500" n'est pas appelé. L'URL dans l'action du formulaire semble se terminer par une extension. Je ne sais donc pas exactement pourquoi il y a une différence de comportement entre GET (URL du navigateur) et POST (soumission du formulaire).

Merci de nous éclairer et de nous faire part de vos réflexions sur la recherche de ce produit !

11voto

atodd Points 356

Dans votre Config.groovy, vous pouvez modifier vos paramètres log4j pour les événements de mappage d'url en ajoutant

all 'org.codehaus.groovy.grails.web.mapping'

à vos paramètres log4j existants. all est le paramètre le plus verbeux, il peut donc être réduit si cela commence à vous donner trop d'informations. Vous pouvez trouver plus d'informations dans la documentation officielle de Grails ici : http://grails.org/doc/latest/guide/3.%20Configuration.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X