#python #logging #python-logging
#python #ведение журнала #python-ведение журнала
Вопрос:
У меня есть код печати, который выглядит следующим образом:
a_dict = {'data': 'y'}
try:
raise KeyError
except KeyError:
logging.info(f'yo {a_dict}')
logging.exception(f'ye {a_dict}')
Что приводит к
{"message": "yo {'data': 'y'} some_location:29", "severity": "INFO"}
{"message": "Traceback (most recent call last):n File "/some_fake_location", line 27, in a_methodn raise KeyErrornKeyError some_location:30", "severity": "ERROR"}
Я создаю handler = logging.StreamHandler(sys.stdout)
файл, который затем получает мой формат.
Как мне заставить его получать мое сообщение поверх информации об исключении. Я действительно хочу сохранить StreamHandler, поскольку он использовался для назначения форматера.
Ответ №1:
Была глупая ошибка в форматировании, когда я не включил в сообщение только exc_info.