Интересно ... Я немного поиграл в консоли, и похоже, что второй вызов logging.config.fileConfig
все портит. Не уверен, почему это так ... Вот расшифровка, которая показывает проблему:
lorien$ python2.5
Python 2.5.1 (r251:54863, Feb 6 2009, 19:02:12)
[GCC 4.0.1 (Apple Inc. build 5465)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import logging
>>> import logging.config
>>> logging.config.fileConfig('logger.conf')
>>> alog = logging.getLogger('a.submod')
>>> alog.info('foo')
foo
>>> import logging
>>> import logging.config
>>> alog.info('foo')
foo
>>> logging.config.fileConfig('logger.conf')
>>> alog.info('foo')
>>> alog = logging.getLogger('a.submod')
>>> alog.info('foo')
>>>
>>> blog = logging.getLogger('b.submod')
>>> blog.info('foo')
foo
>>>
Как только я позвоню logging.config.fileConfig
во второй раз, мой экземпляр регистратора прекратит запись. Получение нового экземпляра журнала не помогает, так как это тот же объект. Если я подожду до тех пор, пока не настрою оба раза для извлечения экземпляров регистратора, то все будет работать - вот почему экземпляр blog
работает.
Я предлагаю отложить захват экземпляров регистратора до тех пор, пока вы не включитесь в функции. Если вы переместите вызовы на logging.getLogger()
на function_one
и function_two
, тогда все будет хорошо.