我想在python glib项目中设置日志级别。因此,当我通过g_log_set_handler()
从python使用GLib时,我正在寻找gi.repository
等价物。
但是预期的GLib.log_set_handler
函数似乎缺失了。这是我的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'
>>>
可以看出,找到了内省存储库中的GLib,并且存在log_set_fatal_mask函数(相当于g_log_set_fatal_mask
)。但是找不到log_set_handler
。
为什么这样,我怎样才能在python中正确设置我的loglevel?
答案 0 :(得分:3)
我发现这是目前无法实现的,gobject-introspection
或glib
中存在已知错误,因为g_log_set_handler
不可绑定。