(16) 981791110 contato@policast.studio

Como configurar e utilizar o serviço de log do Symfony: monitorando o seu código

O Symfony oferece um serviço de log integrado, que pode ser útil para monitorar eventos no código da sua aplicação. Neste artigo, vamos explicar como configurar e utilizar o serviço de log do Symfony.

Configurando o serviço de log

Antes de começar a utilizar o serviço de log, é preciso configurá-lo. A configuração padrão do Symfony já inclui alguns canais de log, como “app” e “security”, mas você pode definir os seus próprios canais e níveis de log.

Para configurar o serviço de log, você precisa editar o arquivo config/packages/dev/monolog.yaml (ou o arquivo equivalente para o ambiente de produção). Este arquivo contém as configurações para o serviço de log.

Para adicionar um novo canal de log, você pode usar o seguinte código:

# config/packages/dev/monolog.yaml
monolog:
channels: ["meu_canal"]

Você pode definir um nível de log para cada canal, usando as opções level e handler. Por exemplo:

# config/packages/dev/monolog.yaml
monolog:
handlers:
meu_canal:
type: stream
path: "%kernel.logs_dir%/%kernel.environment%.log"
level: debug
channels: ["meu_canal"]

Neste exemplo, definimos o nível de log do canal “meu_canal” como “debug”, o que significa que todas as mensagens de log com nível igual ou superior a “debug” serão registradas neste canal.

Utilizando o serviço de log

Agora que o serviço de log está configurado, podemos utilizá-lo no nosso código. O Symfony disponibiliza um serviço de log chamado logger, que pode ser injetado em outras classes e utilizado para registrar mensagens de log.

Para injetar o serviço de log em uma classe, é preciso definir um construtor para a classe e passar o serviço de log como um parâmetro:

namespace AppMeuNamespace;

use PsrLogLoggerInterface;

class MinhaClasse
{
private $logger;

public function __construct(LoggerInterface $logger)
{
$this->logger = $logger;
}

public function minhaFuncao()
{
// Registra uma mensagem de log com nível "info"
$this->logger->info('Minha mensagem de log');
}
}

Neste exemplo, a classe MinhaClasse recebe o serviço de log através do construtor e registra uma mensagem de log no nível “info”.

Conclusão

O serviço de log do Symfony é uma ferramenta útil para monitorar eventos na sua aplicação. Com a configuração correta, é possível registrar mensagens de log relevantes para o seu código e analisá-las posteriormente.

Para mais informações sobre o serviço de log do Symfony, consulte a documentação oficial em https://symfony.com/doc/current/logging.html.