Sobes.tech
Intern

Czym jest logowanie?

sobes.tech AI

Odpowiedź od AI

Proces rejestrowania informacji o zdarzeniach, które mają miejsce podczas wykonywania programu lub działania systemu. Pomaga w debugowaniu, monitorowaniu i analizie działania aplikacji.

Rodzaje logów:

  • Informacyjne (info): Ogólne informacje o działaniu.
  • Debugowanie (debug): Szczegółowe informacje do wyszukiwania błędów.
  • Ostrzeżenia (warning): Sytuacje, które mogą prowadzić do problemów.
  • Błędy (error): Błędy, które wystąpiły i nie przerwały działania.
  • Krytyczne (critical): Błędy, które spowodowały zatrzymanie części lub całego systemu.

Narzędzia i podejścia:

  • Interfejs loggera PSR-3 - standard PHP dla interfejsu loggera.
  • Monolog - popularna biblioteka do logowania w PHP.
  • Logowanie do plików, baz danych, usług zewnętrznych (np. Sentry, ELK).

Przykład użycia z 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('Rozpoczęcie doSomething', ['context_data' => 'value']);
        try {
            // ... kod wykonywania
        } catch (\Exception $e) {
            $this->logger->error('Błąd podczas wykonywania doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Zakończenie doSomething');
    }
}