We have REST services exposed via Spring MVC. We use a HandlerExceptionResolver to log exceptions. We currently log the following:
You need a filter that would save request body when it's being read and provide the saved data to your exception logger later.
Spring contains AbstractRequestLoggingFilter that does the similar thing. Though it's not directly suitable for your problem, you can use it as a reference to implement your own filter.