آموزش نحوهٔ لاگگیری در زبان برنامهنویسی پایتون
همانطور که میدانیم، ثبت لاگ مربوط به پروژههای نرمافزاری یکی از قابلیتهای مفید برای توسعه، دیباگ کردن و بررسی روند اجرای اپلیکیشنها است که بدین وسیله دولوپرها میتوانند روند اجرای برنامه را مانیتور کرده و در صورت بروز هر گونه اروری، با بررسی لاگهای مربوطه مشکل به وجود آمده را رفع نمایند (به منظور کسب اطلاعات بیشتر در رابطه با نحوۀ لاگگیری اصولی اپلیکیشن توصیه میکنیم به مقالۀ آشنایی با مفهوم Structured Logging در توسعهٔ نرمافزار مراجعه کنید.)
در واقع، لاگگیری امکان اِعمال کنترل بیشتر روی جریان برنامه را برای دولوپرها فراهم میآورد که بدین طریق میتوانند اطلاعات بیشتری از اشکالات به وجود آمده در پروژه به دست آورند به طوری که به جای رصد کردن برنامۀ مد نظر و بررسی خطبهخط آن، به لاگها مراجعه کرده و وضعیت برنامه را تا قبل از رسیدن به سطری بررسی میکنند که منجر به ارور شده است. به علاوه اینکه با ثبت اطلاعات مفید برنامه در فایلهای لاگگیری نه تنها میتوان ارور به وجود آمده را به راحتی دیباگ کرد، بلکه دیتای مربوطه به منظور آنالیز پرفورمنس اپلیکیشن نیز میتواند مورد استفاده قرار گیرد.
زبان برنامهنویسی پایتون ماژولی تحت عنوان logging
به منظور ارائۀ سیستم لاگگیری از پروژههای نرمافزاری فراهم کرده است که دولوپرها با بهکارگیری آن میتوانند قابلیت ثبت لاگ را به اپلیکیشن خود اضافه کنند که در همین راستا در این مقاله قصد داریم تا با این ماژول آشنا شده و برخی فیچرهای کاربردی آن به منظور ثبت اطلاعات مربوط به اجرای اپلیکیشن را معرفی کنیم.
آشنایی با ماژول لاگگیری استاندارد پایتونlogging
یک ماژول استاندارد در زبان برنامهنویسی پایتون است که امکان لاگگیری از اپلیکیشنهای کوچک و همچنین پروژههای اینترپرایز را دارا است و در اکثر لایبرریهای به اصطلاح Third-party در این زبان مورد استفاده قرار میگیرد که از همین روی امکان لاگگیری از چنین لایبرریهایی را در پروژه و در قالب یک فایل یکپارچه فراهم میکند.
به طور کلی، پنج سطح استاندارد لاگگیری به منظور نشان دادن شدت اهمیت رویدادها در جریان اجرای اپلیکیشن وجود دارد که در این ماژول متدهایی مجزا به منظور ثبت وقایع مربوط به هر یک از این سطوح استاندارد پیادهسازی شده است که این سطوح لاگگیری به ترتیب افزایش اهمیت عبارتند از:
- DEBUG: اطلاعات این سطح توسط دولوپرها و در حین تلاش برای دیباگ کردن برخی ارورها مورد استفاده قرار میگیرد.
- INFO: این اطلاعات توسط تیم توسعهدهنده به منظور بررسی عملکرد مورد انتظار از اپلیکیشن مورد استفاده قرار میگیرد.
- WARNING: این اطلاعات نشاندهندۀ بروز اتفاقی غیرمنتظره در جریان اجرای اپلیکیشن میباشد مضاف بر اینکه میتواند بیانگر بروز برخی مشکلات در آیندۀ نزدیک برای برنامه باشد.
- ERROR: دیتای این سطح به منظور نشان دادن وقوع مشکلی جدی در برنامه مورد استفاده قرار میگیرد به طوری که اجرای برخی از کامپوننتهای نرمافزار با مشکل مواجه شده است.
- CRITICAL: اطلاعات این سطح بیانگر وقوع مشکلی حاد در روند اجرای برنامه میباشد که منجر به از کار افتادن اپلیکیشن گردیده است.
جمعبندی
به طور کلی، میتوان گفت که ماژول logging
بسیار انعطافپذیر بوده و علاوه بر توانایی ثبت لاگهای مربوط به روند اجرای برنامه با تنظیمات پیشفرض، امکان پیادهسازی متدهای لاگینگ با قابلیتهای منحصربهفرد در آن برای دولوپرها فراهم شده است به طوری با اِعمال تغییرات مد نظر در این ماژول میتوان لاگهایی با سطوح اهمیت متفاوت و به اصطلاح کاستومایز از روند اجرای اپلیکیشن را ثبت کرد.