Two separate issues: 1. Code will crash if `SIP.log` has not been set - should default to `logging.getLogger(__name__)` 2. Uses `print` for logging - all output should go through the log at an appropriate level