Cómo establecer diferentes niveles para diferentes manejadores de registros de Python

He leído algunas publicaciones sobre esto, pero todavía estoy confundido. Tengo esta configuración de registro:

import logging

class MongoHandler(logging.Handler):
    def __init__(self):
        logging.Handler.__init__(self)
        from pymongo import Connection
        self.db = Connection('db_server').db_name

    def emit(self, record):
        try:
            self.db.Logging.save(record.__dict__)
        except:
            print 'Logging Error:  Unable to save log entry to db'

mh = MongoHandler()
sh = logging.StreamHandler()
formatter = logging.Formatter('%(asctime)s - %(threadName)s - %(levelname)s - %(message)s')
sh.setFormatter(formatter)
log = logging.getLogger('DeviceMonitor_%s' % hostname)
log.addHandler(mh)
log.addHandler(sh)
log.setLevel(logging.INFO)

Quiero poder establecer un nivel diferente para StreamHandler y MongoHandler. ¿Es eso posible o necesito tener un segundo objeto de Logger?

Respuestas a la pregunta(3)

Su respuesta a la pregunta