Sobes.tech
Intern

Wat is logging?

sobes.tech AI

Antwoord van AI

Het proces van het registreren van informatie over gebeurtenissen die plaatsvinden tijdens de uitvoering van een programma of systeem. Helpt bij het debuggen, monitoren en analyseren van de werking van de applicatie.

Soorten logs:

  • Informatieve (info): Algemene gegevens over de werking.
  • Debug (debug): Gedetailleerde informatie voor het zoeken naar fouten.
  • Waarschuwingen (warning): Situaties die tot problemen kunnen leiden.
  • Fouten (error): Geconstateerde fouten die de uitvoering niet hebben onderbroken.
  • Kritisch (critical): Fouten die hebben geleid tot het stoppen van een deel of het hele systeem.

Tools en benaderingen:

  • PSR-3 Logger Interface - PHP-standaard voor de logger interface.
  • Monolog - populaire bibliotheek voor logging in PHP.
  • Logging naar bestanden, databases, externe services (bijvoorbeeld Sentry, ELK).

Voorbeeld van gebruik met 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('Start van doSomething', ['context_data' => 'value']);
        try {
            // ... uitvoeringscode
        } catch (\Exception $e) {
            $this->logger->error('Fout bij uitvoeren van doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Einde van doSomething');
    }
}