Сбой форматирования журнала? - PullRequest
1 голос
/ 31 августа 2010

В моей программе есть компонент ведения журнала.Настройка форматтера проста:

sh.setFormatter(logging.Formatter("%(asctime)s - %(message)s"))

Я заметил, что у моей программы проблемы.После определенного момента форматер возвращается к конфигурации по умолчанию (т. Е. Игнорирует предоставленное мной форматирование).При ближайшем рассмотрении кажется, что я сбой его, отправив сообщение, которое выдает UnicodeDecodeError при отображении в строке.Но я не могу исправить.

Я завернул вызов журнала:

try:
    my_logger.info(msg)
except UnicodeDecodeError:
    pass

Который «ловит» исключение, но регистратор все еще не работает.

Есть мысли?

Ответы [ 3 ]

1 голос
/ 31 августа 2010

Взгляните на это: http://wiki.python.org/moin/UnicodeDecodeError. Возможно, у вас есть строка, которую невозможно декодировать.

1 голос
/ 31 августа 2010

Есть идеи, что вызывает UnicodeDecodeError?Достаточная печать переменных поможет!Если вы хотите продолжить работу после получения этой ошибки, вам следует заключить вызовы в модуль форматирования в блок try..except.

try:
    # log stuff
except UnicodeDecodeError:
    # handle the exception and move on

Было бы полезно увидеть еще немного кода и некоторые из ваших входных данных, чтобы дать вам более четкий ответ.

0 голосов
/ 11 июня 2012

У пользователя моего продукта возникла эта проблема. Зайдите в logging / init .py и добавьте несколько операторов print для печати записи. dict . Если вы видите Unicode в asctime, это может быть вашей проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...