Vous pouvez vous en débarrasser en encodant explicitement afin de pouvoir utiliser errors="replace"
ou ignore
Les octets résultants ne seront pas jolis mais ils seront enregistrés.
logging.error("Exception: " + str(ex.args[1].encode(encoding='charmap', errors='replace')))