fbpx

A série de log definitiva: usando o registrador do sistema PHP

Daniella Costa

A série de log definitiva: usando o registrador do sistema PHP

O registro é essencial para o desenvolvimento de aplicativos. Os logs fornecem informações completas e robustas que são úteis para rastrear todas as alterações feitas no código de um aplicativo. Os logs do PHP ajudam a rastrear o desempenho das chamadas de método em seu aplicativo, a ocorrência de um evento específico e os erros em seu aplicativo. Com técnicas adequadas de log do PHP, você pode rastrear e otimizar o desempenho de um aplicativo.  

Na primeira parte desta série de duas partes, vamos ver o log, por que precisamos dele no monitoramento de aplicativos e como criar logs usando o registrador do sistema PHP.

O que é registro e por que ele é um complemento necessário ao monitoramento?

O registro é o processo de coletar e preservar sistematicamente dados de erros de aplicativos em armazenamento centralizado. Ele ajuda a identificar problemas de desempenho de aplicativos para que você possa corrigi-los e garantir desempenho e disponibilidade ideais. O registro anda de mãos dadas com o monitoramento como um processo complementar que melhora a observabilidade do aplicativo.

O uso de log e monitoramento juntos ajuda a reunir uma ampla variedade de dados para medir o desempenho do aplicativo e solucionar problemas quando os erros são registrados. Em outras palavras, enquanto o monitoramento de desempenho do aplicativo ajuda a responder como o desempenho de um aplicativo, o registro em log responde por que um determinado problema aconteceu para fornecer o máximo de clareza.

Criação de logs em PHP

Os logs são criados de duas maneiras no PHP. Os logs podem ser criados automaticamente usando o logger do sistema PHP se houver um erro no código durante a execução. Você também pode usar funções PHP para criar logs personalizados. Neste blog, vamos ver como criar e personalizar logs usando o logger do sistema PHP.

Usando o registrador do sistema PHP

erros_exibição

As mensagens de log podem ser exibidas no navegador usando a diretiva display_errors no arquivo de configuração php.ini. É aconselhável ter display_errors definido como Off para garantir a máxima segurança. No entanto, ele pode ser definido como Ativado no ambiente de desenvolvimento para facilitar a depuração do aplicativo pelos desenvolvedores.

Uso

Para exibir erros durante o desenvolvimento:

display_errors = Ativado

Para desabilitar display_errors:

display_errors = Desligado

Exemplo de script

<?php

trigger_error("User-generated warning message.",E_USER_WARNING);

trigger_error("User-generated notice message.",E_USER_NOTICE);

Caso de uso 1

Se a diretiva display_errors estiver configurada para mostrar mensagens de log no navegador:

display_errors = Ativado

display_startup_errors

Ocasionalmente, podem ocorrer erros durante a sequência de inicialização do PHP. Esses erros de inicialização não serão exibidos, mesmo quando a diretiva display_errors estiver ativada. Os erros de inicialização podem ser visualizados ativando o recurso display_startup_errors . No entanto, é ideal habilitar esse recurso apenas no ambiente de desenvolvimento e desativá-lo em todos os outros momentos para evitar contratempos de segurança.

Uso

Para exibir erros de inicialização:

display_startup_errors = Ativado

Para desabilitar a exibição de erros de inicialização:

display_startup_errors = Desativado 

relatório_erro 

Use a diretiva error_reporting para registrar erros específicos no PHP. Você pode definir o nível de relatório de erros passando o parâmetro apropriado (um inteiro representando um campo de bits ou constantes nomeadas) para a diretiva error_reporting . Essa diretiva usa um conjunto de constantes predefinidas e operadores bit a bit para expressar quais tipos de eventos incluir e excluir dos logs. Por exemplo, você usaria a diretiva E_ALL para registrar todos os erros.

Uso

Para relatar todos os erros:

error_reporting = E_ALL

Para relatar todos os erros, exceto E_NOTICE:

error_reporting = E_ALL & ~E_NOTICE

Exemplo de script

<?php

trigger_error("User-generated warning message.",E_USER_WARNING);

trigger_error("User-generated notice message.",E_USER_NOTICE);

Caso de uso 1

Se a diretiva error_reporting estiver configurada para relatar todos os erros:

error_reporting = E_ALL

Resultado

Caso de uso 2

Se você deseja definir a diretiva error_reporting para relatar todos os erros, exceto os avisos gerados pelo usuário, você pode usar o seguinte comando:

error_reporting = E_ALL & ~E_USER_NOTICE

Resultado

log_erro

Ao passar um nome de arquivo para a diretiva error_log no arquivo de configuração php.ini, você pode gravar logs nesse arquivo específico. Se a diretiva error_log estiver definida como syslog , ela gerará uma mensagem de log que o registrador do sistema distribuirá. Se error_log não estiver definido, os logs serão criados usando a API do servidor. Por exemplo, se a plataforma usa o Apache como servidor, os logs são gravados no log de erros do Apache.

Uso

Para gravar logs em um arquivo:

error_log = /var/log/error.log

Para anular a diretiva error_log, adicione um ponto e vírgula (;) na frente da diretiva error_log ou remova a diretiva:

;error_log = /var/log/error.log

Exemplo de script

<?php

trigger_error("User-generated warning message.",E_USER_WARNING);

trigger_error("User-generated notice message.",E_USER_NOTICE);

Caso de uso 1

Para definir a diretiva error_log para um nome de arquivo (/var/log/sample.log), use o seguinte comando:

error_log = /var/log/sample.log

Resultado

Caso de uso 2

Se a diretiva error_log não estiver definida e a plataforma usar o Apache como servidor:

;error_log = /var/log/error.log

Resultado

O log do PHP permite que você capture informações úteis que são necessárias para monitorar e solucionar problemas de seu aplicativo com eficiência. Como prática recomendada, o registro em log deve ser realizado regularmente no monitoramento do aplicativo. Você pode obter uma visão detalhada de tudo em seu aplicativo que precisa de solução de problemas e usar essas informações para trabalhar nesses problemas.

AppLogs é um serviço de gerenciamento de logs do Site24x7 que ajuda você a gerenciar logs em um único painel. Além disso, com a solução APM do Site24x7 , você pode capturar dados vitais de seu aplicativo PHP e otimizar efetivamente seu desempenho.

Quer saber como monitorar seu aplicativo de forma eficaz? 

Você pode testar o Site24x7 dentro da sua empresa sem custo algum. Que tal realizar esse teste agora?

Conheça na prática como o Site24x7 pode ajudar você e o seu negócio. Nossos técnicos estão disponíveis para te apresentar a melhor solução de monitoramento em nuvem para sua infraestrutura, conte sempre com o apoio da equipe ACSoftware.

ACSoftware / Figo Software seu Distribuidor e Revenda ManageEngine no Brasil

Fone (11) 4063 1007 – Vendas (11) 4063 9639