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