当使用python中的GLib时,与g_log_set_处理程序的python等价物是什么
我想在我的python glib项目中设置日志级别。因此,当通过当使用python中的GLib时,与g_log_set_处理程序的python等价物是什么,python,glib,pygobject,gobject,gobject-introspection,Python,Glib,Pygobject,Gobject,Gobject Introspection,我想在我的python glib项目中设置日志级别。因此,当通过gi.repository从python使用GLib时,我正在寻找g\u log\u set\u handler() 但是预期的GLib.log\u set\u处理程序函数似乎缺失。以下是我的python shell的示例输出: ~$ python Python 2.7.3 (default, Apr 10 2013, 06:20:15) [GCC 4.6.3] on linux2 Type "help", "copyright"
gi.repository
从python使用GLib时,我正在寻找g\u log\u set\u handler()
但是预期的GLib.log\u set\u处理程序
函数似乎缺失。以下是我的python shell的示例输出:
~$ python
Python 2.7.3 (default, Apr 10 2013, 06:20:15)
[GCC 4.6.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> from gi.repository import GLib
>>> GLib.log_set_fatal_mask
<function log_set_fatal_mask at 0x2a7b668>
>>> GLib.log_set_handler
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/python2.7/dist-packages/gi/module.py", line 316, in __getattr__
attr = super(DynamicGLibModule, self).__getattr__(name)
File "/usr/lib/python2.7/dist-packages/gi/module.py", line 243, in __getattr__
return getattr(self._introspection_module, name)
File "/usr/lib/python2.7/dist-packages/gi/module.py", line 105, in __getattr__
self.__name__, name))
AttributeError: 'gi.repository.GLib' object has no attribute 'log_set_handler'
>>>
~$python
Python 2.7.3(默认值,2013年4月10日,06:20:15)
[GCC 4.6.3]关于linux2
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>从gi.repository导入GLib
>>>GLib.log\u set\u致命\u掩码
>>>GLib.log\u set\u处理程序
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“/usr/lib/python2.7/dist packages/gi/module.py”,第316行,在__
attr=super(DynamicGLibModule,self)。\uuu getattr\uuuu(名称)
文件“/usr/lib/python2.7/dist packages/gi/module.py”,第243行,在__
返回getattr(self.\u自省\u模块,名称)
文件“/usr/lib/python2.7/dist packages/gi/module.py”,第105行,在__
自我(姓名)
AttributeError:'gi.repository.GLib'对象没有属性'log\u set\u handler'
>>>
可以看到,内省存储库中的GLib被找到,并且存在log_set_fatal_mask函数(这相当于g_log_set_fatal_mask
)。但是找不到log\u set\u处理程序
这是为什么?我如何在python中正确设置日志级别?我发现这目前是不可能的,并且在gobject内省
或glib
中存在一个已知的错误,因为g\u log\u set\u处理程序
是不可绑定的
见:
线程是如何绑定的,因为所有g\u thread\u创建的/g\u thread\u new
调用都需要函数指针