Как проксировать все методы из модуля 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.. 

не является допустимым решением, потому что он использует модуль протоколирования напрямую.

Мне никогда не приходилось «наследовать» из модуля до этого, поэтому я не знаю, что наивно делать это 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.