您可以创建一个自定义 logging.Handler并将其添加到您的logger:
import logging
logger = logging.getLogger(__name__)
class QtHandler(logging.Handler):
def __init__(self):
logging.Handler.__init__(self)
def emit(self, record):
record = self.format(record)
XStream.stdout().write("{}\n".format(record))
handler = QtHandler()
handler.setFormatter(logging.Formatter("%(levelname)s: %(message)s"))
logger.addHandler(handler)
logger.setLevel(logging.DEBUG)
然后删除块中的logging.basisConfig(level=logging.DEBUG)
行if __name__ == "__main__"
:。您将看到日志消息仅出现在 对话框中。