Sobes.tech
Intern

Cos'è il logging?

sobes.tech AI

Risposta dell'AI

Il processo di registrazione delle informazioni sugli eventi che si verificano durante l'esecuzione di un programma o di un sistema. Aiuta a debug, monitorare e analizzare il funzionamento dell'applicazione.

Tipi di log:

  • Informazioni (info): Dati generali sul funzionamento.
  • Debug (debug): Informazioni dettagliate per la ricerca di errori.
  • Avvertimenti (warning): Situazioni che possono portare a problemi.
  • Errori (error): Errori che si sono verificati e non hanno interrotto l'esecuzione.
  • Critici (critical): Errori che hanno portato all'arresto di parte o di tutto il sistema.

Strumenti e approcci:

  • Interfaccia Logger PSR-3 - standard PHP per l'interfaccia del logger.
  • Monolog - libreria popolare per il logging in PHP.
  • Logging in file, database, servizi esterni (ad esempio, Sentry, ELK).

Esempio di utilizzo con 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('Inizio di doSomething', ['context_data' => 'value']);
        try {
            // ... codice di esecuzione
        } catch (\Exception $e) {
            $this->logger->error('Errore durante l’esecuzione di doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Fine di doSomething');
    }
}