Python记录到QTextEdit

时间:2016-12-13 15:33:29

标签: python python-2.7 logging pyside

我想升级我的日志部分以适应日志记录模块。

我的应用程序已经非常先进,并使用PySide进行GUI。我想设置处理程序来生成不同的日志文件,还要设置一个写入static concurrent map类似控制台的小部件......

现在,QTextEdit函数写入主日志文件(包含执行期间生成的所有日志),并写入writeLog,此外,我写入单独的文件中的某些特定部分。我的申请。

我怎样才能做到这一点? (越简单越好)。我需要继承Handler类吗? (现在在Python中会超过我的水平,但是如果引导得很好,我为什么不猜)或者我只是错过了文档中的某些内容?

1 个答案:

答案 0 :(得分:2)

您可以使用自定义记录器代替writeLog功能。这很容易。例如:

class GuiLogger(logging.Handler):
    def emit(self, record):
        self.edit.append_line(self.format(record))  # implementation of append_line omitted

h = GuiLogger()
h.edit = yourTextEditWidget  # this should be done in __init__
logging.getLogger().addHandler(h)

现在logging.info("nice")会将日志保存到GUI小部件。