Sobes.tech
Intern

Šta je logovanje?

sobes.tech АИ

Одговор од АИ

Proces zapisivanja informacija o događajima koji se dešavaju tokom izvršavanja programa ili sistema. Pomaže u otklanjanju grešaka, nadgledanju i analizi rada aplikacije.

Vrste logova:

  • Informativni (info): Opšte informacije o radu.
  • Debag (debug): Detaljne informacije za pronalaženje grešaka.
  • Upozorenja (warning): Situacije koje mogu dovesti do problema.
  • Greške (error): Došlo je do grešaka koje nisu prekinule izvršavanje.
  • Kritične (critical): Greške koje su dovele do zaustavljanja dela ili celog sistema.

Alati i pristupi:

  • PSR-3 interfejs za logovanje - standard PHP za interfejs logera.
  • Monolog - popularna biblioteka za logovanje u PHP.
  • Logovanje u fajlove, baze podataka, spoljne servise (npr. Sentry, ELK).

Primer korišćenja sa 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('Početak doSomething', ['context_data' => 'vrednost']);
        try {
            // ... kod izvršavanja
        } catch (\Exception $e) {
            $this->logger->error('Greška pri izvršavanju doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Kraj doSomething');
    }
}