Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/299.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
当使用python中的GLib时,与g_log_set_处理程序的python等价物是什么_Python_Glib_Pygobject_Gobject_Gobject Introspection - Fatal编程技术网

当使用python中的GLib时,与g_log_set_处理程序的python等价物是什么

当使用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"

我想在我的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", "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
调用都需要函数指针