stdlib logging
пытается добавить информацию об исключении , но у вас нет информации об исключении, потому что вы не входите в систему из блока except:
. NoneType: None
в конечном итоге происходит от результата sys.exc_info()
вызова, при ведении журнала не нужно проверять, действительны они или нет.
Хромое решение:
logger.exception('this is an exception', exc_info=False)
Чуть менее отстой:
logger.error('this is an exception...haha not really')
Лучший:
try:
# risky code
except Exception:
logger.exception('this is an exception')
Если у вас есть исключение экземпляр , которое было перехвачено ранее, и вы хотите зарегистрировать его, и вы не находитесь в блоке исключений, это будет делать правильно:
logger.exception('this is an exception', exc_info=myerror)