Sobes.tech
Junior — Middle

Akú inováciu alebo vylepšenie ste navrhli a realizovali v poslednom projekte?

sobes.tech AI

Odpoveď od AI

V mojom zadnjem projektu v Node.js sem predlagal in implementiral izboljšavo sistema za beleženje. Prej so se dnevniki zapisovali v eno datoteko, kar je povzročalo težave z zmogljivostjo in težave pri analizi.

Uvedel sem rotacijo dnevnikov z uporabo knjižnice winston in konfiguriral razdelitev dnevnikov po ravneh (info, error) in po času (dnevne datoteke). To je omogočilo:

  • zmanjšanje velikosti posameznih dnevniških datotek,
  • poenostavitev iskanja in analize napak,
  • izboljšanje stabilnosti aplikacije z asinhronim zapisovanjem dnevnikov.

Primer konfiguracije:

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;

Ta izboljšava je izboljšala kakovost podpore in nadzora nad aplikacijo.