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');
}
}