Управление Python 3 входом в импортированную библиотеку - PullRequest
0 голосов
/ 19 февраля 2020

Я запускаю сценарий Python3, который содержит множество строк «logger.info ()», чтобы описать, когда происходят различные события. Ведение журнала инициализируется следующим образом:

Основной сценарий

import logger
import os
base_dir = os.path.dirname(os.path.realpath(__file__))
os.chdir(base_dir)
logging.basicConfig(filename='output.log',level=logging.INFO, format='%(message)s')
logger = logging.getLogger('regular')
logger.addHandler(logging.StreamHandler())

Теперь я пытаюсь импортировать стороннюю библиотеку в сценарий.

Я считаю, что когда для verbose установлено значение true, новая библиотека выводит на терминал много интересной информации, но ничего не добавляет в мой журнал. Соответствующая библиотечная функция, генерирующая эту информацию в терминале, выглядит следующим образом:

Импортированная библиотека

def _log(self, cmd, msg=''):
    if self.is_verbose:
        print('%d %s %s' % (time.time(), cmd, msg.rstrip()))
    return self

Мой вопрос - как мне получить эти сообщения, сгенерированные Библиотека в моем журнале?

До сих пор я пытался:

  1. Изменение 'print' на 'logger.info' (ОШИБКА: имя 'logger' не определено)
  2. Импортирование логгера в копию библиотеки и вставка кода инициализации (приводит к большому количеству дублирования и, тем не менее, к записи в журнал сообщений, которые я хочу)

Может кто-нибудь предложить предложение, как получить эти сообщения появляются в моем журнале?

Большое спасибо!

...