# Additional Request/Response logging with Circe

**URL:** <https://softwaremill.community/t/additional-request-response-logging-with-circe/335>\
**Category:** tapir\
**Created:** [December 8, 2023, 10:16pm UTC](https://softwaremill.community/t/additional-request-response-logging-with-circe/335 "2023-12-08T22:16:02Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![frozenwizard](https://avatars.discourse-cdn.com/v4/letter/f/f4b2a3/32.png) [@frozenwizard](https://softwaremill.community/u/frozenwizard)\
**Post date:** [December 8, 2023, 10:16pm UTC](https://softwaremill.community/t/additional-request-response-logging-with-circe/335/1 "2023-12-08T22:16:03Z")

</div>

So off and on we’ve been running into issues with Circe not being able to decode requests or responses. In the logs we’re not given a clear reason as to why and just gives us a 500 error.

- Is there a way to enable dumping of the http request as it comes in to see exactly what it’s doing?
- Is there a way to log the circe encoding/decoding errors?

---

<div class="post-metadata">

**Author:** ![oNouguier](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/onouguier/32/81_2.png) [@oNouguier](https://softwaremill.community/u/oNouguier)\
**Post date:** [December 9, 2023, 7:45am UTC](https://softwaremill.community/t/additional-request-response-logging-with-circe/335/2 "2023-12-09T07:45:08Z")

</div>

Recent version of circe, and tapir provide meaningful error message quite easily, what version of each and Scala version are you using ?

---

<div class="post-metadata">

**Author:** ![kciesielski](https://dub1.discourse-cdn.com/flex005/user_avatar/softwaremill.community/kciesielski/32/133_2.png) [@kciesielski](https://softwaremill.community/u/kciesielski)\
**Post date:** [December 12, 2023, 3:28pm UTC](https://softwaremill.community/t/additional-request-response-logging-with-circe/335/3 "2023-12-12T15:28:31Z")

</div>

@frozenwizard which backend are you using and what’s your logging configuration? Can you give an example of Circe decoding error that ends up with HTTP 500 status code? I’m trying to replicate this, but I’m only getting expected behavior of HTTP 400 if decoding fails, with enough information in the error message.
