Sobes.tech
Intern

Čo je to logovanie?

sobes.tech AI

Odpoveď od AI

Proces zaznamenávania informácií o udalostiach, ktoré sa dejú počas vykonávania programu alebo systému. Pomáha pri odstraňovaní chýb, sledovaní a analýze chodu aplikácie.

Typy logov:

  • Informačné (info): Všeobecné informácie o fungovaní.
  • Ladiace (debug): Podrobné informácie na hľadanie chýb.
  • Varovania (warning): Situácie, ktoré môžu viesť k problémom.
  • Chyby (error): Došlo k chybám, ktoré nepretrhli vykonávanie.
  • Kritické (critical): Chyby, ktoré viedli k zastaveniu časti alebo celého systému.

Nástroje a prístupy:

  • Rozhranie loggera PSR-3 - štandard PHP pre rozhranie loggera.
  • Monolog - populárna knižnica na logovanie v PHP.
  • Logovanie do súborov, databáz, externých služieb (napríklad Sentry, ELK).

Príklad použitia s PSR-3:

<?php

use Psr\Log\LoggerInterface;

class MyClass
{
    private LoggerInterface $logger;

    public function __construct(LoggerInterface $logger)
    {
        $this->logger = $logger;
    }

    public function doSomething(): void
    {
        $this->logger->info('Začiatok doSomething', ['context_data' => 'hodnota']);
        try {
            // ... kód vykonávania
        } catch (\Exception $e) {
            $this->logger->error('Chyba pri vykonávaní doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Koniec doSomething');
    }
}