👨🏻💻 TryCodeBox – جایی برای شروع و جدیتر ادامه دادن
گروه:
@TryCodeBoxGroup
🔗 کانالهای ما:
📦 @TryHackBox – آموزش و چالشهای هک و امنیت
🧭 @TryHackBoxOfficial – نقشه راه و منابع یادگیری
📖 @TryHackBoxStory – داستان ها و تجربههای هکری
Post #60
332
Try Code Box ✔️ چرا logging بهتر از print است؟ @TryCodeBox #پایتون
در برنامهنویسی، بسیاری از افراد برای بررسی اجرای کد از print() استفاده میکنند، اما logging قابلیتهای بیشتری دارد که آن را به گزینهای حرفهایتر تبدیل میکند.
تفاوت print و logging در عمل
در روش print، فقط پیامها در کنسول نمایش داده میشوند و هیچ کنترلی روی آنها نداریم:
مشکل این روش این است که اگر برنامه بزرگی داشته باشیم، کنترل پیامهای print دشوار میشود و امکان ذخیره یا فیلتر کردن پیامها وجود ندارد.
در روش logging، پیامها قابل تنظیم، دستهبندی و ذخیره در فایل هستند:
مزایای logging در این مثال:
+ امکان تعیین سطح پیامها (INFO، ERROR و …)
+ امکان ذخیره پیامها در فایل برای بررسیهای بعدی
+ قابلیت تنظیم نمایش پیامها بر اساس محیط توسعه یا تولید
درنتیجه اگر میخواهید پیامها را فقط موقتاً ببینید، print() گزینه مناسبی است. اما برای پروژههای حرفهای، logging راهکار بهتری برای مدیریت و تحلیل لاگها خواهد بود.
@TryCodeBox
#پایتون
تفاوت print و logging در عمل
در روش print، فقط پیامها در کنسول نمایش داده میشوند و هیچ کنترلی روی آنها نداریم:
def divide(a, b):
if b == 0:
print("Error: Division by zero!")
return None
print(f"Result: {a / b}")
return a / b
divide(10, 2) # خروجی: Result: 5.0
divide(5, 0) # خروجی: Error: Division by zero!
مشکل این روش این است که اگر برنامه بزرگی داشته باشیم، کنترل پیامهای print دشوار میشود و امکان ذخیره یا فیلتر کردن پیامها وجود ندارد.
در روش logging، پیامها قابل تنظیم، دستهبندی و ذخیره در فایل هستند:
import logging
logging.basicConfig(level=logging.INFO, format="%(levelname)s: %(message)s")
def divide(a, b):
if b == 0:
logging.error("Division by zero!")
return None
result = a / b
logging.info(f"Result: {result}")
return result
divide(10, 2) # خروجی: INFO: Result: 5.0
divide(5, 0) # خروجی: ERROR: Division by zero!
مزایای logging در این مثال:
+ امکان تعیین سطح پیامها (INFO، ERROR و …)
+ امکان ذخیره پیامها در فایل برای بررسیهای بعدی
+ قابلیت تنظیم نمایش پیامها بر اساس محیط توسعه یا تولید
درنتیجه اگر میخواهید پیامها را فقط موقتاً ببینید، print() گزینه مناسبی است. اما برای پروژههای حرفهای، logging راهکار بهتری برای مدیریت و تحلیل لاگها خواهد بود.
@TryCodeBox
#پایتون
- 👍 3









