Таинственная проблема logging.basicConfig (Python) - PullRequest
3 голосов
/ 14 мая 2010

Я пишу скрипт на Python для извлечения данных из Flickr. Для ведения журнала у меня есть следующая функция настройки:

def init_log(logfile):
    format = '%(asctime)s - %(levelname)s - %(message)s'
    logging.basicConfig(filename=logfile,level=logging.DEBUG,format=format)

Я протестировал это, используя оболочку python, и она работает, как и ожидалось, создавая файл, если он еще не существует. Но вызывая его из моей программы, он перестает работать. Функция определенно вызывается, и параметр logfile работает правильно - logging.basicConfig просто не создает никакого файла. Я даже не получаю никаких ошибок или предупреждений.

Моё использование Python Flickr API может быть причиной, но я сомневаюсь в этом. Есть идеи?

1 Ответ

6 голосов
/ 14 мая 2010

Функция logging.basicConfig делает что-либо, только если в корневом логгере не настроены обработчики. Если вызывается, когда к корневому каталогу уже подключены некоторые обработчики, это, по сути, неоперация (как задокументировано).

Возможно, Python Flickr API выполняет некоторую регистрацию, и в этом случае вы можете обнаружить, что basicConfig должен быть вызван ранее в вашем коде.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...