4 تا از بهترین پکیج های ورود به Node.js

96
0
پکیج های ورود به Node.js

Logging می تواند ابزاری ارزشمند برای عیب یابی مشکلات و تجزیه و تحلیل استفاده از برنامه باشد. این بسته ها کمک می کنند تا آن را به یک فرآیند ساده تبدیل کنید. پکیج های ورود به Node.js را در ادامه بررسی کرده ایم.

ورود به سیستم مناسب یک جنبه حیاتی در ساخت و نگهداری برنامه های کاربردی وب است. این می تواند به شما در ردیابی خطاها، تشخیص مشکلات عملکرد و درک نحوه تعامل کاربران با برنامه شما کمک کند.

Node.js دارای بسته‌های گزارش‌گیری بسیاری است که به شما در ایجاد و مدیریت گزارش‌های ساختاریافته کمک می‌کند.

وینستون

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

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

شما می توانید Winston را به عنوان یک وابستگی در فهرست پروژه خود با استفاده از npm، مدیر بسته جاوا اسکریپت، نصب کنید. این دستور را اجرا کنید:

بلوک کد زیر نحوه راه اندازی یک سیستم ورود به سیستم اولیه را با استفاده از Winston نشان می دهد. شما می توانید گزارش ها را برای مکان های مختلف و سطوح مختلف شدت تعریف کنید.

npm install winston

این کد یک لاگر را با سه انتقال پیکربندی می کند. اولین مورد یک انتقال کنسول است که پیام های گزارش را به کنسول ارسال می کند. دومی یک انتقال فایل است که گزارش هایی را با سطح “خطا” در فایل “error.log” می نویسد. سومین انتقال فایل است که همه گزارش‌ها را در یک فایل “combined.log” می‌نویسد.

const winston = require("winston");

// Winston logger
const logger = winston.createLogger({
  level: 'info',
  format: winston.format.json(),
  defaultMeta: { service: 'my-service' },
  transports: [
    new winston.transports.Console(),
    new winston.transports.File({ filename: 'error.log', level: 'error' }),
    new winston.transports.File({ filename: 'combined.log' })
  ]
});

logger.info('Hello, Winston!');
logger.warn('Warning: Something may be wrong.');
logger.error('An error occurred.');

لاگر به طور پیش‌فرض در سطح «اطلاعات» تنظیم شده است و شامل یک آبجکت ابرداده پیش‌فرض با فیلد «سرویس» است که روی «سرویس من» تنظیم شده است.

سپس کد سه پیام را با استفاده از لاگر به ترتیب در سطوح “info”، “warn” و “error” ثبت می کند. این پیام ها با توجه به پیکربندی انتقال ها به کنسول و فایل های گزارش مناسب خروجی می شوند.

مورگان

مورگان یک میان افزار لاگ برای Node.js است که قابلیت های اولیه ثبت درخواست را ارائه می دهد. به گونه ای طراحی شده است که سبک وزن و استفاده آسان باشد. مورگان با رهگیری درخواست های HTTP و ثبت اطلاعات مرتبط مانند روش درخواست، URL، کد وضعیت و غیره کار می کند.

یکی از مزایای کلیدی مورگان سادگی آن است. می‌توانید آن را با چند خط کد به یک برنامه Node.js اضافه کنید، زیرا برای راه‌اندازی آن نیازی به پیکربندی اضافی نیست.

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

npm install morgan

این کد نحوه استفاده از مورگان را در یک برنامه Express نشان می دهد:

const express = require("express");
const morgan = require("morgan");
const app = express();

app.use(morgan("dev"));

app.get("/", (req, res) => {
  res.send("Hello World!");
});

app.listen(3000, () => console.log(`App Started`));

کد با استفاده از فرمت dev، مورگان را مقداردهی اولیه می کند. وقتی یک درخواست GET به مسیر اصلی (/) می‌کنید، مورگان جزئیات آن درخواست را در کنسول ثبت می‌کند.

با وجود سادگی، مورگان یک بسته لاگ قدرتمند است که قابلیت‌های ثبت درخواست ضروری را برای برنامه‌های Node.js فراهم می‌کند.

پینو

Pino یک بسته لاگ محبوب و سبک وزن برای برنامه‌های Node.js است که همانطور که در بنچمارک‌های آن بیان شده است، دارای عملکرد سریع و سربار کم است.

Pino از چندین نوع حمل و نقل پشتیبانی می کند که به راحتی با حمل و نقل سفارشی گسترش می یابد. یکی از ویژگی های کلیدی Pino توانایی آن در ثبت پیام های با فرمت JSON است که تجزیه و تحلیل آنها را آسان می کند.

استفاده از Pino بسته به چارچوب Node.js متفاوت است. با اجرای دستور زیر می توانید Pino را به عنوان یک وابستگی در فهرست پروژه Express خود نصب کنید:

npm install pino-http

برای چارچوب های مختلف، مستندات Pino را بررسی کنید.

این بلوک کد استفاده Pino را در یک برنامه Express نشان می دهد:

const express = require("express");
const app = express();
const pino = require('pino-http')()

app.use(pino)

app.get("/", (req, res) => {
  pino(req, res) // logs request and response
  req.log.info('root route') // logs additional info
  res.send("Hello World!");
});

app.listen(3000, () => console.log(`App Started`));

 

این کد پینو را مقداردهی اولیه می کند و آن را به عنوان میان افزار ثبت می کند. هنگامی که یک درخواست GET به مسیر اصلی (/) می‌کنید، Pino جزئیات درخواست شما و پاسخ آن را به کنسول ثبت می‌کند.

Debug

Debug یک بسته ورود به سیستم برای Node.js است که از تکنیک اشکال زدایی هسته Node.js مدل شده است. این یک راه حل سبک وزن برای ورود به سیستم ارائه می دهد که به شما امکان می دهد بدون تغییر کد، ورود به سیستم را به طور انتخابی فعال یا غیرفعال کنید و اشکال زدایی و عیب یابی مشکلات را آسان می کند.

اشکال زدایی همچنین به شما امکان می دهد فضاهای نام گزارش را تنظیم کنید، که ساختار سلسله مراتبی را بر اساس مؤلفه ها و ماژول های موجود در برنامه شما به لاگ های شما ارائه می دهد و فیلتر کردن و جستجوی آنها را آسان تر می کند. علاوه بر این، Debug سطوح مختلف گزارشی مانند خطا، هشدار و اطلاعات را ارائه می دهد که می توانید از آنها برای اولویت بندی و فیلتر کردن گزارش های آنها استفاده کنید.

با این دستور می توانید Debug را به عنوان یک وابستگی در فهرست پروژه خود نصب کنید:

npm install debug

این کد استفاده Debug را در یک برنامه Express نشان می دهد:

const express = require('express');

// Import debug and create namespace
const debug = require('debug')('myapp:server');

const app = express();
const port = process.env.PORT || 3000;

app.get('/', (req, res) => {
  debug('Received request for /');
  res.send('Hello, world!');
});

app.listen(port, () => {
  debug(`Server listening on port ${port}`);
});

کد یک فضای نام، myapp:server ایجاد می کند. این فضای نام، گزارش های مربوط به ماژول “سرور” شما را از موارد مرتبط با ماژول های دیگر با فضای نام متفاوت در برنامه شما متمایز می کند.

برای راه اندازی دیباگ این دستور را اجرا کنید:

DEBUG=myapp:* node server.js

این دستور بالا هر پیام گزارش را با فضای نامی که با myapp: شروع می شود مطابقت می دهد. اگر فقط می‌خواهید گزارش‌های مربوط به ماژول سرور خود را ببینید، می‌توانید متغیر محیطی DEBUG را روی myapp:server تنظیم کنید.

یکی دیگر از مزیت های Debug سازگاری آن با سایر بسته های لاگ مانند Winston است.

انتخاب یک بسته ورود به سیستم

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

در نهایت، انتخاب بسته ورود به سیستم به نیازها و الزامات خاص پروژه شما بستگی دارد.

امتیاز این مطلب
سهیل دهقانی
نوشته شده توسط

سهیل دهقانی

علاقه مند به فناوری و تکنولوژی های روز دنیا کارشناس سئو و تولید محتوا

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

گوگل فارکس آموزش تخصصی آمارکتس