В моей программе есть компонент регистрации. Настройка форматера проста:
sh.setFormatter(logging.Formatter("%(asctime)s - %(message)s"))
Я заметил, что у моей программы возникли проблемы. После определенного момента средство форматирования возвращается к конфигурации по умолчанию (т. Е. Игнорирует предоставленное мной форматирование). При ближайшем рассмотрении кажется, что я выхожу из строя, отправляя сообщение, которое выдает UnicodeDecodeError при отображении в строке. Но, похоже, я не могу это исправить.
Я обернул вызов журнала:
try:
my_logger.info(msg)
except UnicodeDecodeError:
pass
Которая "ловит" исключение, но регистратор все еще запакован.
Есть мысли?
Есть идеи, какой ввод вызывает UnicodeDecodeError
? Не помешала бы широкая печать переменных! Если вы хотите двигаться дальше после получения этой ошибки, вы должны обернуть вызовы модуля форматирования в блок try..except
.
try:
# log stuff
except UnicodeDecodeError:
# handle the exception and move on
Было бы полезно увидеть еще немного кода и некоторые ваши входные данные, чтобы дать вам более четкий ответ.
Взгляните на это: http://wiki.python.org/moin/UnicodeDecodeError. Вероятно, у вас есть какая-то строка, которую нельзя расшифровать.