Python glib プロジェクトでログ レベルを設定したいと考えています。g_log_set_handler()
したがって、PythonからGLibを使用するときに同等のものを探していgi.repository
ます。
しかし、期待されるGLib.log_set_handler
機能が欠けているようです。私のpythonシェルのサンプル出力は次のとおりです。
~$ 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内からログレベルを正しく設定できますか?