0
votes

Pourquoi la stacktrace n'est-elle pas imprimée lors de l'extension de la réponseExceptionHandler au printemps?

Je construis une application de démarrage à ressort. J'essaie d'utiliser une manière décente de manipuler des réponses de repos lorsqu'une exception est soulevée. Donc, j'ai étendu le ResponsitiyExceptionHandler dans une classe nommée restrucresponseïtyexceptionHandler . Le problème est que lorsqu'une exception est lancée, la standingTrace n'est pas imprimée dans la console. Lorsque je supprime cette classe restrucseSentityExceptionHandler , la stacktrace est à nouveau imprimée dans la console!

Voici ce que la classe restrucresponseïtexceptionHandler xxx

J'utilise de la connexion pour la journalisation.

J'ai trouvé des astuces pour faire face à cela, comme l'ajout d'un Logger.Error ("Détails:", exception); qui fonctionne bien et imprime la stacktrace, mais je préfère ne pas utiliser une solution comme celle-ci, car elle ne fonctionne que pour les exceptions accueillies par cette classe ... Les autres exceptions n'impriment pas la stacktrace.

Toutes les explications Pourquoi la stacktrace n'est pas imprimée? Merci à l'avance.


0 commentaires

3 Réponses :


0
votes

Il n'est pas "imprimé" car vous gérez déjà l'exception dans restrucresponseentalyExceptionHandler.


0 commentaires

0
votes

Parce que vous manipulez une exception. Si vous souhaitez imprimer avec la manipulation, mettez Logger Intérieur ExceptionnelHandler Méthodes.


0 commentaires

0
votes

StaketAce n'est pas imprimé car vous manipulez la réponse de la réponseExceptionHandler dans la restructurePonseyExceptionHandler par RestControllerAdvice et ne transmettez que le message d'erreur en réponse. Il vous souhaite l'imprimer spécialement, ajoutez un enregistreur dans votre méthode de guidon de guidon pour l'erreur I.E. E dans votre cas.


0 commentaires