Sobes.tech
Intern

O que é o registo?

sobes.tech IA

Resposta da IA

O processo de registo de informações sobre eventos que ocorrem durante a execução de um programa ou sistema. Ajuda a depurar, monitorizar e analisar o funcionamento da aplicação.

Tipos de logs:

  • Informações (info): Dados gerais sobre o funcionamento.
  • Depuração (debug): Informação detalhada para procurar erros.
  • Avisos (warning): Situações que podem levar a problemas.
  • Erros (error): Erros que ocorreram e não interromperam a execução.
  • Críticos (critical): Erros que levaram à paragem de parte ou de todo o sistema.

Ferramentas e abordagens:

  • Interface de registo PSR-3 - padrão PHP para a interface do registo.
  • Monolog - biblioteca popular para registo em PHP.
  • Registo em ficheiros, bases de dados, serviços externos (por exemplo, Sentry, ELK).

Exemplo de uso com 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('Início de doSomething', ['context_data' => 'value']);
        try {
            // ... código de execução
        } catch (\Exception $e) {
            $this->logger->error('Erro ao executar doSomething', [
                'exception' => $e,
                'user_id' => 123
            ]);
        }
        $this->logger->debug('Fim de doSomething');
    }
}