Source code for sas.qtgui.Utilities.SasviewLogger

import os
import sys
import logging

from PyQt5.QtCore import *


[docs]class QtHandler(QObject, logging.Handler): """ Version of logging handler "emitting" the message to custom stdout() """ messageWritten = pyqtSignal(str) def __init__(self): QObject.__init__(self) logging.Handler.__init__(self)
[docs] def emit(self, record): record = self.format(record) if record: self.messageWritten.emit('%s\n'%record)
[docs]def setup_qt_logging(): # Define the default logger logger = logging.getLogger() # Add the qt-signal logger handler = QtHandler() handler.setFormatter(logging.Formatter( fmt="%(asctime)s - %(levelname)s: %(message)s", datefmt="%H:%M:%S" )) logger.addHandler(handler) return handler