使用普通记录器模块捕获GTk警告。

时间:2017-07-11 07:53:45

标签: python python-3.x logging gtk wxpython

我有一个wxPython应用程序,在运行时会在stderr上发出GTK严重警告:

(raiju:27221): Gtk-CRITICAL **: IA__gtk_widget_set_size_request: assertion 'width >= -1' failed 

从阅读中看来,这个警告似乎是安全的。我想使用Python的常规日志记录模块来记录它。

我该怎么做?

请注意,我使用的是Phoenix和Python 3。

1 个答案:

答案 0 :(得分:2)

我认为你需要在关闭调试的情况下自己构建wxPython。我问过wxPython的创建者Robin Dunn,他说可能有一个环境变量你可以设置来抑制GTK方面的输出,但他不知道它是什么。

这些消息将转到C运行时的stderr句柄,而不是Python,因此您无法使用Python的 sys.stderr 重定向它们。

我尝试了一种关闭文件句柄或复制文件句柄的方法,但我无法找到任何跨平台的文件。