Recursive makedirs

We shouldn't assume that the entire path defined for logging is there. os.makedirs handles creating any missing directories in the path.