/ / Помилка форматування журналів журналу? - python, logging

Збиває форматування журналювання журналів? - python, logging

У мене є компонент реєстрації в моїй програмі. Налаштування форматирування є простою:

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

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

Я загорнув виклик журналу:

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

Яка «ловить» виняток, але логер все ще залишається вбитим.

Будь-які думки?

Відповіді:

1 для відповіді № 1

Будь-яка ідея, який вхід викликає UnicodeDecodeError? Широке друкування змінних допоможе! Якщо ви хочете перейти після отримання цієї помилки, ви повинні завершити дзвінки на форматтер в a try..except блок

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

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


1 для відповіді № 2

Подивіться на це: http://wiki.python.org/moin/UnicodeDecodeError. Ви, напевно, маєте рядок, який не можна розшифрувати.


0 для відповіді № 3

Користувач мого продукту мав цю проблему. Перейти в журнал /в цьому.py і додайте деякі оператори друку для друку запису.диктувати. Якщо ви бачите Unicode в asctime, що може стати вашою проблемою.