2013-09-20 5 views
1

Я хочу установить уровень журнала в моем проекте glip python. Поэтому я ищу эквивалент g_log_set_handler() при использовании GLib из python через gi.repository.Что такое эквивалент python для g_log_set_handler при использовании GLib из python

Но ожидаемая GLib.log_set_handler функция, кажется, отсутствует. Вот пример вывод моего питона оболочки:

~$ 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?

ответ

3

Я узнал, что в настоящее время это невозможно и известная ошибка в пределах gobject-introspection или glib, так как g_log_set_handler не подлежит замене.

См: https://bugzilla.gnome.org/show_bug.cgi?id=670507

+0

Все, что с помощью указателя функции в настоящее время не Привязываемое. – grim

+0

Какова последовательность потоков, так как для всех вызовов 'g_thread_create' /' g_thread_new' требуется указатель на функцию – Dyna

 Смежные вопросы

  • Нет связанных вопросов^_^