۷ شیوه برتر برای Log گرفتن در Node.js

ترجمه و تالیف : عرفان کاکایی
تاریخ انتشار : 13 خرداد 98
خواندن در 3 دقیقه
دسته بندی ها : نود جی اس

Node.js یکی از آسان‌ترین پلتفرم‌ها برای نمونه‌سازی و توسعه‌دهی سریع است. این پلتفرم توسط شرکت‌های بزرگی که به دنبال مقیاس گذاری محصولات خود به طور سریع هستند، مورد استفاده قرار گرفته است. گرچه، امروزه استفاده از یک پلتفرم به تنهایی، برای اکثر پروژه‌های بزرگ کافی نیست. لاگ کردن هم یک بخش کلیدی از تضمین اجرای نرم برنامه وب یا موبایل شما برای تمام کاربران است.

لاگ کردن برنامه، شیوه ضبط اطلاعات درباره رانش برنامه شما است. این فایل‌ها اغلب به عنوان پلتفرم‌های لاگ کردن ذخیره می‌شوند که در شناسایی مشکلات احتمالی کمک می‌کنند. با این که هیچ برنامه‌ای همیشه ۱۰۰ درصد بی نقص نیست، اما لاگ کردن به توسعه دهندگان در جلوگیری از خطاها و حتی حملات مجازی کمک می‌کند. طبیعت نرم‌افزار، پیچیده است. ما همیشه نمی‌توانیم نحوه واکنش یک برنامه به داده‌ها، خطاها یا تغییرات سیستم را پیش‌بینی کنیم. لاگ کردن به ما کمک می‌کند تا برنامه‌های خود را بهتر درک کنیم.

پس شما لاگ کردن را به خصوص در Node.js چگونه مدیریت می‌کنید؟ در اینجا برخی از بهترین شیوه‌ها را برای لاگ کردن در Node.js مشاهده می‌نمایید، تا بتوانید بهترین نتیج‌ها را دریابید.

۱. مقررات را درک کنید

بیایید مقررات فعلی را درباره این که چگونه می‌توانید و چگونه نمی‌توانید لاگ کنید، مورد بحث قرار دهیم. شما هیچ وقت نباید اطلاعات حساس یا داده‌های شخصی را لاگ کنید. این یعنی مستثنی کردن مدارکی مانند رمز عبور، شماره کارت بانکی یا حتی آدرس ایمیل.

React مقررات خود را همراه با مقررات حفاظت از داده عمومی اروپا (Europe’s GDPR (General Data Protection Regulation))) تغییر می‌دهد و آن را حتی ضروری‌تر می‌کند. شما نمی‌خواهید در نوار خط قرمز داده‌های حساس قانونی گیر کنید. وقتی که به این مسئله شک دارید، به سه چیز پایبند باشید که برای یک پیغام لاگ قوی،‌ مورد نیاز هستند: برچسب زمان، سطح لاگ و توصیفات. فراتر از این سه مورد، شما هیچ فریم‌وورک گسترده‌ای را نمی‌خواهید.

۲. از Winston بهره ببرید

Node.js با استفاده از یک پلتفرم لاگ کردن به نام Winston ساخته شده است. Winston به عنوان حاملی برای لاگ‌های شما تعریف شده است، و شما می‌توانید آن را به طور مستقیم در برنامه خود نصب کنید.

Winston یک ابزار قوی است که سطوح مختلف لاگ کردن را با مقادیر مختلف به همراه دارد. شما می‌توانید این کنسول را به طور کامل همراه با رنگ‌ها، پیغام‌ها و جزئیات خروجی لاگ کنید. آخرین نسخه در دسترس آن، نسخه 3.0.0 می‌باشد، اما همیشه مطمئن باشید که آخرین نسخه آن را دارید تا برنامه خود را به طور نرم در اجرا نگه دارید.

۳. Morgan را اضافه کنید

به علاوه Winston، Morgan هم یک لاگ کننده درخواست‌های HTTP می‌باشد که لاگ‌های سرور را جمع‌آوری کرده و آن‌ها را استانداردسازی می‌کند. آن را به عنوان یک تسهیل لاگ کننده در نظر داشته باشید. با این که می‌توانید Morgan را به تنهایی استفاده کنید، اما برخی توسعه دهندگان آن را به همراه Winston استفاده می‌کنند؛ زیرا این دو با هم یک تیم قدرتمند را تشکیل می‌دهند. Morgan همچنین با express.js هم به خوبی کار می‌کند.

۴. پکیج Intel را در نظر داشته باشید

با این که Winston و Morgan یک ترکیب عالی هستند، اما این دو تنها گزینه‌های شما نمی‌باشند. Intel یک راه حل پکیج دیگر با ویژگی‌هایی مشابه، و همچنین برخی گزینه‌های منحصر به فرد می‌باشد. با این که شما همپوشانی‌های فراوانی در آن خواهید یافت، اما Intel یک آبجکت stack trace را هم شامل می‌شود.

این ویژگی‌ها وقتی که به اشکال‌زدایی می‌رسیم، کاربردی خواهند بود. با توجه به این که Intel یک stack trace را به عنوان یک آبجکت JSON می‌دهد، منتقل کردن پیغام‌ها به طبقات بالاتر آسان‌تر است. Intel را به عنوان breadcrumbای در نظر داشته باشید که توسعه دهنده شما را به خطا می‌برد.

۵. از متغیرهای محیطی استفاده کنید

شما مکالمات زیادی را درباره مدیریت پیکربندی در دنیای Node.js خواهید شنید. جداسازی کد خود از خدمات و دیتابیس، روند ساده‌ای نیست. در Node.js بهتر است که از متغیرهای محیطی استفاده کنید. شما همچنین می‌توانید به دنبال مقادیری از process.env در کد خود باشید.

برای تعیین این که برنامه شما بر روی کدام محیط اجرا می‌شود، به دنبال متغیرهای NODE_ENV باشید.

۶. یک راهنمای استایل را انتخاب کنید

هیچ توسعه دهنده‌ای نمی‌خواهد وقت خود را صرف خواندن خطوط یک کد کند و مجبور باشد فاصله‌ها را تغییر دهد، براکت‌ها را مجددا قالب‌بندی کند و... راهنماهای استایل یک موضوع اجباری هستند؛ به خصوص وقتی که در حل لاگ کردن در Node.js هستید. اگر شما در حال کار با تیمی از توسعه دهندگان هستید، وقت آن است که درباره یک راهنمای استایل تیمی تصمیم‌گیری کنید که همه به آن پای‌بند باشند.

وقتی که کد شما به طور باثباتی نوشته شده است، نیازی نیست نگران توسعه‌دهندگان لجوجی باشید که دعوا می‌کنند تا حرفی را بزنند. مهم نیست که شما به چه استایلی پایبند هستید، فقط مطمئن شوید که همیشه پای آن خواهید ماند.

۷. خطاها را مدیریت کنید

در آخر، قبول کنید که خطاها بروز خواهند داد و برای آن‌ها آماده باشید. شما نمی‌‌خواهید که یک خطا کل نرم‌افزار یا برنامه شما را زمین بزند. مدیریت exception یک کلید است. از یک ساختار async برای مدیریت خطاها استفاده کنید. چه برنامه شما در سکوی بعدی مجددا راه‌اندازی شده یا حرکت می‌کند، فقط مطمئن شوید که یک اتفاقی می‌افتد. خطاهای کاربران باید مدیریت شوند.

همانطور که می‌توانید ببینید، برخی شیوه‌ها وجود دارند که در هنگام لاگ کردن در Node.js باید در ذهن داشته باشید. برای اشکال‌زدایی یک پلتفرم، فقط به توسعه دهندگان خود تکیه نکنید. یک ساختار را بنا کنید، تا این مشکلات را به محض خیزش مدیریت کنند. کاربران شما همیشه انتظار یک تجربه با کیفیت را دارند. مطمئن شوید که خدمات خود را با در نظر گرفتن نکات بالا تحویل می‌دهید.

منبع

دیدگاه‌ها و پرسش‌ها

برای ارسال نظر لازم است ابتدا وارد سایت شوید
در حال دریافت نظرات از سرور، لطفا منتظر بمانید