Не пишет в файл журнала при использовании pywinauto

Я пытаюсь автоматизировать некоторые действия Windows, используя pywinauto, но когда я import pywinauto, вход в файл журнала перестает работать.

Перед импортом - код записывает в лог файл, как в следующем примере:

import logging

logging.basicConfig(filename='log.txt', filemode='a', level=logging.DEBUG, format="%(message)s",)
logging.info("Test")

.....

После импорта - код НЕ записывает в лог файл, как в следующем примере:

import logging
from pywinauto import application

logging.basicConfig(filename='log.txt', filemode='a', level=logging.DEBUG, format="%(message)s",)
logging.info("Test")

.....

1 ответ

Решение

Получается что pywinauto имеет свое собственное использование logging модуль.

В pywinauto/actionlogger.py, код устанавливает уровень регистрации WARNING, который отключает запись сообщений журнала под WARNING уровень (INFO, DEBUG а также NOTSET уровни) в файл журнала.

Я нашел обходной путь, чтобы продолжить работу с обоими pywinauto а также logging - просто импортирую pywinauto после базовой конфигурации logging, а не в начале:

import logging

logging.basicConfig(filename='log.txt', filemode='a', level=logging.DEBUG, format="%(message)s",)

from pywinauto import application

logging.info("Test")

.....

Этот пример хорошо работает - записывает "Test" в файл журнала.

Другие вопросы по тегам