Man*_*310 3 python logging pyside python-2.7
我想升级我的日志部分以适应日志记录模块。
我的应用程序已经相当先进,并且使用 PySide 进行 GUI。我想设置处理程序来生成不同的日志文件,但也想设置一个处理程序来写入QTextEdit类似控制台的小部件......
现在,writeLog函数写入主日志文件(包含执行期间生成的所有日志)和QTextEdit,此外,我还为应用程序的某些特定部分写入单独的文件。
我怎样才能实现这个目标?(越简单越好)。我需要子类化 Handler 类吗?(目前在 Python 中的水平远远高于我的水平,但如果指导良好,我猜为什么不呢)或者我只是错过了文档中的某些内容?
您可以使用自定义记录器代替您的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)
Run Code Online (Sandbox Code Playgroud)
现在logging.info("nice")将把日志保存到 GUI 小部件。
| 归档时间: |
|
| 查看次数: |
4105 次 |
| 最近记录: |