فارسی
باز کردن در Telegram

پست 🐍 آموزش جامع Python — پست ۲۴۰

14 اکتبر 2026
P
Python Coding Academy
🐍 آموزش جامع Python — پست ۲۴۰ ثبت خطاها با ماژول logging در پست قبل با Exceptionهای اختصاصی آشنا شدیم. حالا می‌خواهیم یاد بگیریم چگونه اتفاقات مهم برنامه و خطاها را ثبت کنیم تا هنگام عیب‌یابی بتوانیم آن‌ها را بررسی کنیم. برای این کار از ماژول استاندارد logging استفاده می‌کنیم. 🔹 اولین Log import logging logging.basicConfig(level=logging.INFO) logging.info("Application started") logging.warning("Low disk space") logging.error("Database connection failed") خروجی نمونه: INFO:root:Application started WARNING:root:Low disk space ERROR:root:Database connection failed سطح‌های مهم Log عبارت‌اند از: سطح کاربرد DEBUG اطلاعات جزئی برای عیب‌یابی INFO رویدادهای عادی برنامه WARNING وضعیت غیرمنتظره اما قابل ادامه ERROR خطا در یک عملیات CRITICAL مشکل بسیار جدی 🔹 ثبت Exception فرض کنیم هنگام اتصال به دیتابیس خطایی رخ می‌دهد: import logging import sqlite3 logging.basicConfig(level=logging.INFO) try: connection = sqlite3.connect("app.db") connection.execute("SELECT * FROM missing_table") except sqlite3.Error: logging.exception("Database operation failed") finally: if "connection" in locals(): connection.close() متد logging.exception() پیام خطا را همراه با اطلاعات Exception و Traceback ثبت می‌کند. این متد را معمولاً داخل بلوک except استفاده می‌کنیم. 🔹 ذخیره Log در فایل برای ثبت گزارش در فایل: import logging logging.basicConfig( filename="app.log", level=logging.INFO, format="%(asctime)s - %(levelname)s - %(message)s", encoding="utf-8" ) logging.info("Application started") logging.error("Operation failed") اکنون پیام‌ها در فایل app.log ذخیره می‌شوند. گزینه encoding="utf-8" برای ثبت درست متن فارسی مفید است. 🔹 چرا print() کافی نیست؟ print() برای نمایش خروجی مناسب است، اما logging امکانات بیشتری دارد: سطح‌بندی پیام‌ها ثبت زمان رویداد ذخیره گزارش در فایل ثبت Traceback خطاها کنترل میزان جزئیات گزارش در برنامه‌های واقعی، Logging به عیب‌یابی و نگهداری بهتر کمک می‌کند. ⚠️ نکته مهم logging.basicConfig() معمولاً فقط زمانی تنظیمات اصلی را اعمال می‌کند که Root Logger از قبل Handler نداشته باشد. همچنین رمز عبور، کلید API و اطلاعات حساس کاربران را در Log ثبت نکن؛ فایل‌های گزارش نیز باید از نظر دسترسی محافظت شوند. 🧠 خلاصه DEBUG INFO WARNING ERROR CRITICAL برای ثبت Exception همراه با Traceback: logging.exception("Operation failed") و برای ذخیره گزارش در فایل: logging.basicConfig(filename="app.log") 🎯 تمرین برنامه‌ای بنویس که: گزارش‌ها را در فایل database.log ذخیره کند. شروع برنامه را با INFO ثبت کند. یک خطای آزمایشی ValueError ایجاد کند. خطا را با logging.exception() ثبت کند. اجرای برنامه را با یک پیام INFO گزارش دهد. پست ۲۴۰ از دوره جامع Python 🐍
14 ·

در همان حوالی فید

PPython Coding Academy🐍 آموزش جامع Python — پست ۲۳۸ اعتبارسنجی ورودی‌ها در Repository در پست قبل عملیات CRUD را پیاده‌سازی کردیم. اما یک Repository خوب نباید هر داده‌ای را بدون بررسیPPython Coding Academy🐍 آموزش جامع Python — پست ۲۳۹ مدیریت خطاهای سفارشی در پروژه‌های Python در پست قبل یاد گرفتیم ورودی‌های Repository را اعتبارسنجی کنیم. حالا می‌خواهیم به‌جای استف
این پیام
PPython Coding Academy🐍 آموزش جامع Python — پروژه عملی شماره ۱ ساخت سیستم مدیریت کاربران با SQLite در این پروژه قرار است یک برنامه نسبتاً واقعی بسازیم که کاربران را در دیتابیس ذخیره PPython Coding Academyهیچ صحنه ای توی دنیا اندازه این صحنه که چیزی در حال لود شدن یا هر چیز دیگه ای روی اعصابم راه نمیره
PPython Coding AcademyPython Coding Academy@PythonCodingAcademy · کانال · فناوری
30مشترک68پست در 30 روز
فید انجمن باز کردن در Telegram

فید عمومی باز از ایندکس جست‌وجو ChatCrawler — «Google برای Telegram عمومی»؛ با خزش انجمن به‌روز می‌شود. زمان‌ها به UTC است.

فقط محتوای عمومی، API رسمی Telegram. دربارهٔ ما · پرسش‌ها · محدودیت‌های ایندکس · حذف یک صفحه · کاتالوگ · جست‌وجو · روش محاسبهٔ ما