ماژول logging

  • مدرس : علی بیگدلی
  • تاریخ انتشار: 1404/05/12
  • تعداد بازدید: 23

معرفی ماژول logging و نحوه استفاده از آن در پایتون

ماژول logging یکی از ابزارهای استاندارد و قدرتمند پایتون برای ثبت رویدادها (logها) در برنامه‌ها است. ثبت لاگ‌ها به شما کمک می‌کند که رفتار برنامه را در زمان اجرا پیگیری کنید، خطاها را سریع‌تر پیدا کنید و اطلاعات مهمی از روند اجرای برنامه داشته باشید.

چرا از logging استفاده کنیم؟

استفاده از print() برای نمایش پیام‌های دیباگ مناسب است اما در پروژه‌های بزرگ و حرفه‌ای، ثبت لاگ با logging مزایای زیر را دارد:

  • امکان تعیین سطح اهمیت پیام‌ها
  • ذخیره لاگ‌ها در فایل یا ارسال به منابع مختلف
  • قابلیت غیرفعال‌کردن یا فیلتر کردن لاگ‌ها بدون تغییر کد
  • فرمت‌بندی قابل تنظیم برای نمایش زمان، سطح، پیام و ...

درجات (سطوح) لاگ در ماژول logging

در ماژول logging، پیام‌ها بر اساس اهمیتشان در ۵ سطح اصلی دسته‌بندی می‌شوند:

  • DEBUG: جزئی‌ترین پیام‌ها برای اشکال‌زدایی و بررسی دقیق روند برنامه
  • INFO: پیام‌های عمومی و اطلاع‌رسانی درباره روند برنامه
  • WARNING: هشدارهایی که ممکن است باعث بروز مشکلات شوند اما برنامه ادامه می‌دهد
  • ERROR: خطاهای جدی که اجرای بخشی از برنامه را مختل می‌کنند
  • CRITICAL: خطاهای بسیار جدی که ممکن است باعث توقف برنامه شوند

نمونه استفاده ساده از logging

import logging

# تنظیمات پایه logging: نمایش پیام‌های با سطح DEBUG به بالا
logging.basicConfig(
    level=logging.DEBUG,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

logging.debug('این یک پیام DEBUG است')
logging.info('این یک پیام INFO است')
logging.warning('این یک پیام WARNING است')
logging.error('این یک پیام ERROR است')
logging.critical('این یک پیام CRITICAL است')

خروجی این کد چیزی شبیه به زیر خواهد بود:

2025-08-03 12:00:00,123 - DEBUG - این یک پیام DEBUG است
2025-08-03 12:00:00,124 - INFO - این یک پیام INFO است
2025-08-03 12:00:00,125 - WARNING - این یک پیام WARNING است
2025-08-03 12:00:00,126 - ERROR - این یک پیام ERROR است
2025-08-03 12:00:00,127 - CRITICAL - این یک پیام CRITICAL است

تنظیمات پیشرفته‌تر logging

می‌توانید لاگ‌ها را در فایل ذخیره کنید، قالب نمایش را تغییر دهید، و حتی چندین لاگر (logger) با تنظیمات مختلف داشته باشید. مثلاً:

logging.basicConfig(
    filename='app.log',
    filemode='w',  # حالت نوشتن، هر بار فایل را پاک می‌کند
    level=logging.INFO,
    format='%(levelname)s:%(message)s'
)

logging.info('این پیام داخل فایل ذخیره می‌شود')

در این حالت پیام‌ها در فایل app.log ذخیره می‌شوند و در کنسول نمایش داده نمی‌شوند.

نتیجه‌گیری: ماژول logging ابزاری حیاتی برای توسعه پروژه‌های حرفه‌ای است که با کمک آن می‌توانید پیام‌های مهم برنامه را به شکل ساختاریافته ثبت و مدیریت کنید.

ثبت دیدگاه


نکته: آدرس ایمیل شما منتشر نخواهد شد

دیدگاه کاربران (0)


هیچ دیدگاهی ثبت نشده است. می‌توانید اولین نفر باشید.