ChatCrawlerпоиск по публичному Telegram Открыть приложение
P

Python Community | Chat

сообщение · 2025-07-24 11:01 UTC
I
Ссылка
нажмите — покажем
🐍 Python Gotcha: как правильно логировать необработанные исключения В этой статье разбирают частую проблему: программа падает, но в логах — тишина. Необработанные исключения отправляются в stderr, а не в лог-файл, и вы не знаете, что пошло не так. Пример кода: import logging logger = logging.getLogger(__name__) logger.setLevel(logging.INFO) handler = logging.FileHandler("app.log") handler.setFormatter(logging.Formatter("%(asctime)s %(name)s %(levelname)s %(message)s")) logger.addHandler(handler) def divide(a, b): return a / b def main(): logger.info("Start") logger.info(divide(10, 0)) # ZeroDivisionError logger.info("End") if __name__ == "__main__": main() 📄 В логе: 2025-07-24 12:00:00 __main__ INFO Start ❗ А сам ZeroDivisionError — только в консоли. Лог молчит. ✅ Решение — использовать sys.excepthook: import sys def handle_uncaught_exception(exc_type, exc_value, exc_traceback): logger.critical("Uncaught exception", exc_info=(exc_type, exc_value, exc_traceback)) sys.excepthook = handle_uncaught_exception Теперь, если произойдёт ошибка, она попадёт в лог: CRITICAL Uncaught exception Traceback (most recent call last): ... ZeroDivisionError: division by zero 📌 Вывод: — Необработанные исключения не попадут в лог, если явно не подключить sys.excepthook — Это особенно важно в продакшене: лог покажет, где и почему всё сломалось — Просто и надёжно 🔗 Подробнее (https://andrewwegner.com/python-gotcha-logging-uncaught-exception.html) @Python_Community_ru
780 ·

Все сообщения за 24 июля 2025 · Вся лента · оригинал в Telegram

Открыть в Telegram Каталог площадок Искать в ChatCrawler

Слепок открытой публичной ленты из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Чего мы не делаем · Убрать страницу из выдачи · Каталог