1

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内からログレベルを正しく設定できますか?

4

1 に答える 1