''' @author: olivier.massot, 2018 ''' import logging from qgis.core import QgsMessageLog _to_qgis_level = {logging.DEBUG: 0, logging.INFO: 0, logging.WARNING: 1, logging.ERROR: 2, logging.CRITICAL: 2, logging.NOTSET: 4} class QHandler(logging.Handler): _qgs_iface = None def emit(self, record): try: msg = self.format(record) level = record.levelno QgsMessageLog.logMessage(msg, "Mnheck", _to_qgis_level[level]) if QHandler._qgs_iface and record.levelno >= logging.WARNING: QHandler._qgs_iface.messageBar().pushMessage("MnCheck", msg, level=_to_qgis_level[level]) except (KeyboardInterrupt, SystemExit): raise except: self.handleError(record)