Указатель NULL
- это тот, который указывает на никуда. Когда вы разыскиваете указатель p
, вы говорите «дайте мне данные в месте, хранящемся в« p ». Когда p
является нулевым указателем, местоположение, хранящееся в p
, является nowhere
, вы говорите «Дайте мне данные в месте« нигде ». Очевидно, он не может этого сделать, поэтому он выбрасывает NULL pointer exception
.
В общем, это потому, что что-то не было правильно инициализировано.
От регистрирующаяся документация :
существует три аргумента ключевого слова в
kwargs
, которые осмотрены:exc_info
,stack_info
, иextra
., Если
exc_info
не оценивает как ложь, она заставляет информацию об исключении быть добавленной к регистрирующемуся сообщению. Если кортеж исключения (в формате, возвращенномsys.exc_info()
) или экземпляр исключения, обеспечивается, это используется; иначе,sys.exc_info()
назван для получения информации об исключении.
Так сделайте:
logger.warning("something raised an exception:", exc_info=True)
В некоторых случаях Вы могли бы хотеть использовать эти предупреждения библиотека. Можно иметь очень мелкомодульный контроль над тем, как отображены предупреждения.
Попытайтесь использовать Logger.exception.
Logger.exception () создает сообщение журнала, подобное Logger.error (). Различие - то, что Logger.exception () выводит отслеживание стека наряду с ним. Назовите этот метод только из обработчика исключений.
Используйте Logger.exception()
.
try:
#Something...
except BaseException, excep:
logger = logging.getLogger("component")
logger.exception("something raised an exception")