Sobes.tech
Intern

Qu'est-ce que la journalisation?

sobes.tech IA

Réponse de l'IA

Le processus d'enregistrement des informations sur les événements survenant lors de l'exécution d'un programme ou du fonctionnement du système. Aide à déboguer, surveiller et analyser le fonctionnement de l'application.

Types de logs:

  • Informations (info): Informations générales sur le fonctionnement.
  • Débogage (debug): Informations détaillées pour rechercher des erreurs.
  • Avertissements (warning): Situations pouvant conduire à des problèmes.
  • Erreurs (error): Erreurs survenues qui n'ont pas interrompu l'exécution.
  • Critiques (critical): Erreurs ayant entraîné l'arrêt d'une partie ou de tout le système.

Outils et approches:

  • Interface de journalisation PSR-3 - standard PHP pour l'interface du journaliseur.
  • Monolog - bibliothèque populaire pour la journalisation en PHP.
  • Journalisation dans des fichiers, bases de données, services externes (par exemple, Sentry, ELK).

Exemple d'utilisation avec 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('Début de doSomething', ['context_data' => 'value']);
        try {
            // ... code d'exécution
        } catch (\Exception $e) {
            $this->logger->error('Erreur lors de l'exécution de doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Fin de doSomething');
    }
}