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