Как проксировать все методы из модуля Python в другой?
Я хочу иметь в своем приложении общий модуль регистрации, который регистрируется в файле. Например, в моем commonlog.py у меня может быть что-то вроде этого:
# Python logging module import logging logging.basicConfig(filename="test.log", level=logging.DEBUG)
Из других модулей приложения я хочу импортировать этот модуль и иметь возможность использовать его, как если бы это был модуль протоколирования Python, но без репликации всех его функций, например, из модуля test.py:
import commonlog commonlog.debug("debug message") commonlog.info("info message") commonlog.ANY_OTHER_METHOD_THAT_BELONGS_TO_LOGGING()
Как я могу «проксировать» в моем общем журнале все методы из модуля протоколирования?
Выполнение:
commonlogging.logging.etc..
не является допустимым решением, потому что он использует модуль протоколирования напрямую.
- Создание нового экземпляра объекта по-прежнему содержит старые данные
- Как печатать переменные без пробелов между значениями
- нужно перечислить всех друзей с помощью facebook.py
- Иерархия в Google App Engine NDB
- Как суммировать столбцы в 2D-списке?
Мне никогда не приходилось «наследовать» из модуля до этого, поэтому я не знаю, что наивно делать это from logging import *
в верхней части commonlogging
. Вот код, показывающий, что он работает:
>>> with open('mylogging.py', 'w') as f: ... f.write('''from logging import * ... my_customization = "it works"''') ... >>> import mylogging >>> print mylogging.my_customization it works >>> help(mylogging.log) Help on function log in module logging: log(level, msg, *args, **kwargs) Log 'msg % args' with the integer severity 'level' on the root logger.
- Расширение Python: символы (символы) не найдены для архитектуры x86_64
- Как получить изображение и сохранить в blobstore?
- Зачем усекать, когда мы открываем файл в режиме «w» в python
- В python, почему чтение из массива происходит медленнее, чем чтение из списка?
- Два списка Python, в которых найден индекс
- Python заставляет условие
- Объект не подлежит расшифровке
- Чистое назначение возврата python
- приоритет оператора python и сравнение
- Django Celery получает счетчик задач
- Можем ли мы сделать смарт-копию в Python?