Sobes.tech
Junior — Middle

So'nggi loyihangizda taklif qilgan va amalga oshirgan yangi yangilik yoki yaxshilash nima?

sobes.tech AI

AIdan javob

Node.js bilan oxirgi loyihamda, loglash tizimida yaxshilash taklif qildim va amalga oshirdim. Avval loglar bitta faylga yozilardi, bu esa ishlash tezligiga ta'sir qilardi va tahlil qilishda qiyinchiliklar tug'dirardi.

winston kutubxonasi yordamida loglarni aylantirishni joriy qildim va loglarni darajalar (info, error) va vaqt bo'yicha (kundalik fayllar) ajratdim. Bu quyidagilarni imkon berdi:

  • alohida log fayllarining hajmini kamaytirish,
  • xatoliklarni qidirish va tahlil qilishni soddalashtirish,
  • ilovaning barqarorligini oshirish uchun asinxron log yozishni ta'minlash.

Sozlash misoli:

const { createLogger, format, transports } = require('winston');
require('winston-daily-rotate-file');

const transport = new transports.DailyRotateFile({
  filename: 'application-%DATE%.log',
  datePattern: 'YYYY-MM-DD',
  zippedArchive: true,
  maxSize: '20m',
  maxFiles: '14d'
});

const logger = createLogger({
  level: 'info',
  format: format.combine(
    format.timestamp(),
    format.json()
  ),
  transports: [transport]
});

module.exports = logger;

Ushbu yaxshilash ilova qo'llab-quvvatlash va monitoring sifatini oshirdi.