Source code for log.widgethandler

# -*- coding: utf-8 -*-
# widgethandler.py

import logging

[docs]class WidgetHandler(logging.Handler): """ A logging.Handler which appends messages to some widget.append(). >>> import logging >>> from PyQt4.QtGui import QPlainTextEdit >>> from utilsgui import DialogInteraction >>> from logdock import LogHandler >>> pte = DialogInteraction.instance(QPlainTextEdit) >>> handler = LogHandler(pte) >>> msg = "testest" >>> handler.emit(logging.LogRecord("", 0, "", 0, msg, (), None)) >>> str(pte.toPlainText()) == msg True """ _widget = None # (Qt) widget to write log data to def __init__(self, widget): logging.Handler.__init__(self) self._widget = widget assert hasattr(widget, 'append'), \ "append() method required for given widget!" @property def widget(self): return self._widget
[docs] def emit(self, record): if self._widget is None: return msg = self.format(record) self._widget.append(msg)
# vim: set sts=4 ts=4 sw=4 tw=0: