Source code for helga.general.setup.quick_setup.lib.quick_setup_logging_handler

"""
quick_setup_logging_handler
==========================================

Automaticaly log to le_status from given widget.
"""




#Import
#------------------------------------------------------------------
#python
import logging
#PyQt4
from PyQt4 import QtGui
from PyQt4 import QtCore







#StatusStreamHandler class
#------------------------------------------------------------------
class StatusStreamHandler(logging.StreamHandler):
    """
[docs] Stream handler subclass that calls the set_status() method of the wdgt_status object used for initialization. Normally the set_status() method would set a QLineEdit or similiar to display the log message. """ def __init__(self, wdgt_status = None, logging_level = logging.DEBUG): """ Initialize StatusStreamHandler """ #super class init super(StatusStreamHandler, self).__init__() #logger #------------------------------------------------------------------ self.logger = logging.getLogger(self.__class__.__name__) self.logging_level = logging_level self.logger.setLevel(self.logging_level) #wdgt_status #------------------------------------------------------------------ self.wdgt_status = wdgt_status def emit(self, record): """
[docs] Custom emit for StreamHandler subclass """ try: #message message = self.format(record) #stream stream = self.stream #display message self.wdgt_status.set_status(message) #flush self.flush() except (KeyboardInterrupt, SystemExit): raise except: self.handleError(record)