Мне нужны только журналы, созданные StreamHandler, но по какой-то причине все регистрируется дважды. Форматирование корневого регистратора, похоже, тоже не работает.
Я просмотрел документацию по протоколированию и попытался выяснить, в чем проблема, но, похоже, не могу найти ничего, связанного с моей проблемой. Я также попробовал несколько различных настроек, но не могу найти ничего, что работает.
Вот последняя вещь, которую я пробовал:
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
stream_handler = logging.StreamHandler()
stream_handler.setFormatter(formatter)
logger.addHandler(stream_handler)
logger.info('Modeling for date %s, saving outputs %s', date_string, save_loc_str)
Вывод:
2019-10-17 14:20:47,547 - __main__ - INFO - Modeling for date 2019-10-17, saving outputs to S3
INFO:__main__:Modeling for date 2019-10-17, saving outputs to S3
Я также пытался просто изменить формат в basicConfig, но формат не обновляется:
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s')
logger = logging.getLogger(__name__)
logger.setLevel(logging.INFO)
logger.info('Modeling for date %s, saving outputs %s', date_string, save_loc_str)
Вывод:
INFO:__main__:Modeling for date 2019-10-17, saving outputs to S3
Просто
logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO)
logging.info('Modeling for date %s, saving outputs %s', date_string, save_loc_str)
Не будет работать и выдает тот же результат, что и предыдущий: /