Django 记录到 wxpython window?

Django logging to wxpython window?

我正在编写一个实用程序来启动一个 django 服务器进程,该进程将其日志输出到 wxpython window 中的 TextCtrl。不幸的是,一些不同的方法导致了奇怪的问题,操作系统(OSX 在这种情况下)在几次成功的日志条目后抱怨 "Illegal Instruction" 使程序崩溃。

我目前正在通过实现一个 logging.Handler 子类来执行此操作,该子类将事件发布到包含要在 window 中显示的日志记录的 wx。有没有更好的方法?

谢谢!

wxPython 要求它成为主线程,所以我猜这可能是您问题的根本原因。不过,您有几个不错的方法可以尝试。

首先,您可以从 wxPython 程序中将 Django 服务器进程作为线程启动。然后你可以使用wxPython的线程安全方法(wx.CallAfter, wx.PostEvent)与UI.

进行通信

或者您可以单独启动 Django 并登录到一个文件。然后启动 wxPython 并让它基本上跟踪日志文件。