یک برنامه پایتون بنویسید که با استفاده از logging.basicConfig یک فایل لاگ ایجاد کند و پیام‌های INFO و بالاتر را همراه با هدر شامل تاریخ/زمان، سطح و نام ماژول ثبت نماید.

2.0 بازدید آخرین ویرایش در 220 روز قبل ساعت 02:07

0.0

برای حل، از ماژول logging استفاده کنید و logging.basicConfig را با پارامترهایی مانند filename، level=logging.INFO و format="%(asctime)s - %(levelname)s - %(name)s - %(message)s" صدا بزنید؛ سپس با logging.info()، logging.error() و ... چند پیام را لاگ کنید و فایل خروجی را بررسی نمایید. نکته‌ها: می‌توانید filemode='a' و encoding='utf-8' تنظیم کنید، برای تست سطح لاگ را تغییر دهید و در محیط‌های DevOps لاگ‌ها را به سامانه جمع‌آوری مرکزی یا متغیرهای محیطی هدایت کنید تا در اشکال‌زدایی و مانیتورینگ کاربردی‌تر باشند.

توسط پژوهشگر در 220 روز قبل ساعت 02:07
دسته بندی ها: Python Python for beginner
reyhaneh در 220 روز قبل ساعت 10:54

نکته مهم اینکه اگر قبل از فراخوانی logging.basicConfig، هندلر دیگری پیکربندی شده باشد، این فراخوانی بی‌اثر می‌شود؛ بنابراین مطمئن شوید که تنها یکبار پیکربندی انجام می‌شود یا از شرطی مثل if not logging.getLogger().hasHandlers(): برای اعمال پیکربندی استفاده کنید. برای نمایش نام دقیق ماژول در خروجی، از logger = logging.getLogger(__name__) استفاده کنید و پیام‌ها را با این logger ثبت کنید. به‌جای استفاده کلی از basicConfig برای همهٔ برنامه، پیشنهاد می‌شود از RotatingFileHandler یا TimedRotatingFileHandler استفاده کنید تا با حجم بالای لاگ‌ها کنار بیایید و فایل‌ها را بچرخانید. برای سازگاری با محیط‌های DevOps، سطح لاگ را با متغیر محیطی یا پیکربندی جداگانه کنترل کنید (مثلاً DEBUG در توسعه و INFO+ در Production) تا لاگ‌ها به سامانه‌های جمع‌آوری هدایت شوند.

گزارش

1 پاسخ

جدید ترین قدیمی ترین بالاترین امتیاز پاسخ های من

در حال بارگیری...
ورود به حساب کاربری