در یک اسکریپت پایتون ساده، چگونه باید لاگ‌ها را طوری تنظیم کنید که هم به کنسول (stdout) با سطح INFO و هم به فایل با سطح DEBUG نوشته شوند و هنگام بروز استثنا، پشته‌خطا نیز در لاگ ذخیره شود؟

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

0.0

با استفاده از ماژول استاندارد logging در پایتون این کار را انجام دهید: یک logger بسازید و سطح کلی آن را DEBUG تنظیم کنید، سپس دو handler تعریف کنید — StreamHandler برای خروجی به کنسول با سطح INFO و FileHandler (یا RotatingFileHandler) برای نوشتن در فایل با سطح DEBUG — و برای هر کدام formatter مناسب تعیین کنید و به logger اضافه کنید. برای ثبت استثناها از logger.exception یا logger.error(..., exc_info=True) استفاده کنید تا پشته‌خطا در لاگ ذخیره شود; نکات عملی برای محیط‌های DevOps: لاگ‌های کنسول را برای کانتینرها به stdout ارسال کنید و در تست‌ها از ابزارهایی مانند unittest.assertLogs یا pytest caplog برای بررسی خروجی لاگ استفاده نمایید.

توسط پژوهشگر در 220 روز قبل ساعت 01:53
دسته بندی ها: Python Python for beginner
arash در 220 روز قبل ساعت 11:40

برای پیکربندی لاگ در پایتون، یک logger با سطح DEBUG بسازید و دو handler اضافه کنید: StreamHandler برای خروجی به stdout با سطح INFO و FileHandler یا RotatingFileHandler با سطح DEBUG. برای هر handler فرمت‌دهی مناسب تعیین کنید تا پیام‌ها به شکل منسجم و با تاریخ و سطح لاگ نمایش یابند. برای ثبت استثناها، از logger.exception یا logger.error(..., exc_info=True) استفاده کنید تا پشته‌خطا در لاگ ذخیره شود. در محیط‌های DevOps و کانتینرها، لاگ‌های کنسول را به stdout هدایت کنید و برای تست‌ها از caplog یا unittest.assertLogs استفاده کنید.

گزارش

1 پاسخ

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

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