Ignore:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/sas/qtgui/Utilities/SasviewLogger.py

    r4992ff2 re4335ae  
    66 
    77 
    8 class XStream(QObject): 
    9     _stdout = None 
    10     _stderr = None 
     8class QtHandler(QObject, logging.Handler): 
     9    """ 
     10    Version of logging handler "emitting" the message to custom stdout() 
     11    """ 
    1112    messageWritten = pyqtSignal(str) 
    1213 
    13     def flush(self): 
    14         pass 
    15  
    16     def fileno(self): 
    17         return -1 
    18  
    19     def write(self, msg): 
    20         if(not self.signalsBlocked()): 
    21             self.messageWritten.emit(str(msg)) 
    22  
    23     @staticmethod 
    24     def stdout(): 
    25         if(not XStream._stdout): 
    26             XStream._stdout = XStream() 
    27             sys.stdout = XStream._stdout 
    28         return XStream._stdout 
    29  
    30     @staticmethod 
    31     def stderr(): 
    32         if(not XStream._stderr): 
    33             XStream._stderr = XStream() 
    34             sys.stderr = XStream._stderr 
    35         return XStream._stderr 
    36  
    37 class QtHandler(logging.Handler): 
    38     """ 
    39     Version of logging handler 
    40     "emitting" the message to custom stdout() 
    41     """ 
    4214    def __init__(self): 
     15        QObject.__init__(self) 
    4316        logging.Handler.__init__(self) 
    4417 
     
    4619        record = self.format(record) 
    4720        if record: 
    48             XStream.stdout().write('%s\n'%record) 
     21            self.messageWritten.emit('%s\n'%record) 
    4922 
    5023 
    51 # Define the default logger 
    52 logger = logging.getLogger() 
     24def setup_qt_logging(): 
     25    # Define the default logger 
     26    logger = logging.getLogger() 
    5327 
    54 # Add the file handler 
    55 logging.basicConfig(level=logging.INFO, 
    56                     format='%(asctime)s %(levelname)s %(message)s', 
    57                     filename=os.path.join(os.path.expanduser("~"), 
    58                                           'sasview.log')) 
    59 # Add the qt-signal logger 
    60 handler = QtHandler() 
    61 handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s")) 
    62 logger.addHandler(handler) 
     28    # Add the qt-signal logger 
     29    handler = QtHandler() 
     30    handler.setFormatter(logging.Formatter( 
     31        fmt="%(asctime)s - %(levelname)s: %(message)s", 
     32        datefmt="%H:%M:%S" 
     33    )) 
     34    logger.addHandler(handler) 
     35 
     36    return handler 
Note: See TracChangeset for help on using the changeset viewer.