Improve logging calls

Make logging calls more resilient by parameterizing values, rather than simply
presenting the logger with a single monolothic message. Doing this prevents the
logger from choking on non-ascii inputs, as the first argument to the logger
should consist of just ascii characters.

Ensure that information about an API request is logged out before the request
made, not after the API request completes.
To be consistent, should then you also return ``u'no data'``?