I'd recommend two things.
1) To get full detail of on thrown exceptions, I'd set the error policy to always. This should return more detail exception messages from your code.
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy = IncludeErrorDetailPolicy.Always;
I think this only works in RC though.
2) Then I would also suggest wiring up a message handler that you can use to extra request/ response info. The message handlers will run when new requests come in and just before the final responses return. There are tons of examples of this online. WebAPIContrib has one in it's GitHub repo you can take a look at as an example
3) If you want to monitor other server events, you may want to consider using asp.net health monitoring, as long as you're hosting in asp.net of course. It'll allow you to do various audits and monitor server errors.