یک اسکریپت پایتون بنویسید که یک سرویس شبیه‌سازی‌شده را اجرا کند، هنگام وقوع یک خطای بحرانی (critical) پیغام را با سطح logging.CRITICAL در فایل لاگ بنویسد و از RotatingFileHandler برای چرخش فایل لاگ استفاده کند و یک تست ساده بنویسید که وجود آن پیغام critical را تأیید کند.

1.0 بازدید آخرین ویرایش در 221 روز قبل ساعت 01:22

0.0

برای حل این مسئله از ماژول استاندارد logging استفاده کنید: یک logger تنظیم کنید و سطح آن را روی logging.CRITICAL قرار دهید، از logging.handlers.RotatingFileHandler برای چرخش لاگ‌ها (مثلاً حداکثر اندازه و تعداد فایل‌های پشتیبان) استفاده کنید و در بلوک try/except هنگام بروز استثنا از logger.critical برای ثبت پیام و اطلاعات استثنا بهره ببرید. برای تست ساده می‌توانید از unittest و context manager logging.assertLogs یا خواندن فایل لاگ برای بررسی وجود پیغام موردنظر استفاده کنید؛ نکات مفید شامل تنظیم formatter مناسب، بستن و flush کردن handlerها پس از نوشتن و اجرا در محیط توسعه/CI برای اطمینان از رفتار چرخش فایل است.

توسط پژوهشگر در 221 روز قبل ساعت 01:22
دسته بندی ها: Python Python for beginner
arash در 221 روز قبل ساعت 13:29

برای سرویس شبیه‌سازی‌شده یک logger با سطح logging.CRITICAL بسازید و از RotatingFileHandler با maxBytes و backupCount مناسب استفاده کنید تا لاگ‌ها به‌صورت خودکار چرخان شوند. در بلوک except از logger.critical برای ثبت پیام همراه با اطلاعات استثنا بهره ببرید و formatter مناسبی برای نمایش زمان و سطح لاگ اضافه کنید. برای تست ساده می‌توانید از unittest و context manager logging.assertLogs استفاده کنید یا وجود پیام critical را از طریق بررسی فایل لاگ تأیید کنید، به‌خصوص با بستن و فلاش کردن handlerها پس از نوشتن. در محیط توسعه/CI فراموش نکنید که پس از هر نوشتن، رفتار چرخش و بسته‌شدن منابع درست اجرا شود تا از بروز ناآرامی‌ها جلوگیری شود.

گزارش

1 پاسخ

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

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