Со временем я написал несколько сценариев, и я нахожусь в процессе преобразования сценариев для сохранения кода DRY .В настоящее время я использую что-то вроде этого в различных сценариях:
if __name__ == '__main__':
logger = logging.getLogger('dbinit')
hdlr = logging.FileHandler('/var/logs/tmp/foo.log')
formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s')
hdlr.setFormatter(formatter)
logger.addHandler(hdlr)
logger.setLevel(logging.WARNING)
Вместо того, чтобы повторять это в каждом сценарии (т. Е. "Модуле"), я хотел бы, чтобы инициализация этой регистратора была где-то сделана и доступнаразличные сценарии (Хм, может быть обернуть в одноэлементный класс?).
Если я не могу этого сделать (т.е. поместить код инициализации регистратора в один основной модуль), я предполагаю, что используя тот же файл журналаимя в вызове logging.FileHandler () , различные сценарии будут записывать в один и тот же файл.
Верно ли это предположение?
И последнее, но не менее важное: каков наилучший практический (то есть пифоновский) способ решения этой проблемы?