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