Sobes.tech
Junior — Middle

Jakou inovaci nebo vylepšení jste navrhli a realizovali ve svém posledním projektu?

sobes.tech AI

Odpověď od AI

V mém posledním projektu v Node.js jsem navrhl a implementoval vylepšení systému logování. Dříve se logy zapisovaly do jednoho souboru, což způsobovalo problémy s výkonem a složitosti při analýze.

Zavedl jsem rotaci logů pomocí knihovny winston a nakonfiguroval rozdělení logů podle úrovní (info, error) a podle času (denní soubory). To umožnilo:

  • zmenšit velikost jednotlivých logových souborů,
  • zjednodušit hledání a analýzu chyb,
  • zvýšit stabilitu aplikace díky asynchronnímu zápisu logů.

Příklad konfigurace:

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;

Toto vylepšení zvýšilo kvalitu podpory a monitorování aplikace.