Handle local IOErrors in debug level logs rather than error level.

This solves [BZ-1103842](https://bugzilla.redhat.com/show_bug.cgi?id=1103842). If there is an internal IOError, it creates a log at the debug level rather than dumping a traceback to the log.
You might also add this to confirm that logger.exception is never called (and thus no traceback):

```
self.assertEqual(mock_logger.exception.call_count, 0)
```