Comment puis-je enregistrer des données de publication RESTful?
Nous avons des services RESTE exposée par Spring MVC. Nous utilisons un HandlerExceptionResolver
consigner les exceptions. Nous avons actuellement des journaux suivants:
- L'exception et sa trace de la pile
- L'URL
- Les en-têtes de requête
Il ferait un débogage plus facile si on pouvait aussi enregistrer au format JSON publier des données ainsi. Toutes les suggestions sur la façon de l'obtenir?
source d'informationauteur Tom Norton
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin d'un filtre qui permettrait de sauver du corps de la requête lorsqu'il est en cours de lecture et de fournir les données enregistrées à votre logger plus tard.
Printemps contient
AbstractRequestLoggingFilter
qui fait la même chose. Si ce n'est pas directement adapté pour votre problème, vous pouvez l'utiliser comme une référence pour mettre en œuvre votre propre filtre.Ajouter à la classe représentant la configuration de l'application:
....
vous pourriez avoir à commenter
Il n'y a pas de moyen facile de connecter la charge utile de la demande/réponse. Vous pouvez utiliser un java filtre web pour intercepter toutes les requêtes et les réponses et de lire les données JSON à partir du flux. Mais il y a un problème, quand vous allez lire des données à partir du flux de données réelles seront épuisées à partir de flux de données.
Par conséquent, vous devez mettre en œuvre le wrapper de demande et de réponse de l'objet. Seule la version copiée de réponse à la requête sera enregistrée. Nous avons mis en place de solution similaire comme suit et il satisfait notre besoin:
http://www.wetfeetblog.com/servlet-filer-to-log-request-and-response-details-and-payload/431
http://angelborroy.wordpress.com/2009/03/04/dump-request-and-response-using-javaxservletfilter/