|
Criação de um log de errosComo criar um arquivo que armazena os erros que foram produzidos durante a execução de um programa, acrescentar um log de erros a nossa página.
Um log de erros permitirá controlar quando se produz um erro para corrigi-lo e evitar que se repita no
futuro.
Para criar um log, abriremos ,o arquivo em modo 'a' (escritura ao
final) e escreveremos o erro indicando a data, para simplificar o
trabalho podemos incluir tudo em uma função:
<?php
function error($numero,$texto){
$ddf = fopen('error.log','a');
fwrite($ddf,"[".date("r")."] Error $numero: $texto\r\n");
fclose($ddf);
}
?>
Uma vez declarada a função, teremos somente que chamá-la da
seguinte forma quando se produzir um erro para que se salve em
error.log:
<?php
// Se nao existe a cookie sessao
if(!isset($_COOKIE['sessao'])){
// Salvamos um erro
error('001','Nao existe a cookie de sessao');
}
?>
Desta maneira, cada vez que um usuário entra nesta página sem a
cookie sessao, armazena-se uma nova linha no arquivo, indicando:
[data] Erro 001: Nao existe a cookie de sessao
Vamos ver agora como podemos melhorar isto de forma que além de
poder gravar os erros que nós definirmos em nosso site, que armazene também os erros produzidos durante a execução do script php.
Conseguiremos isto indicando ao intérprete Zend que chame à
função error() cada vez que o código PHP contenha um erro com a
função set_error_handler:
<?php
set_error_handler('error');
?>
Então, o código completo fica da seguinte forma:
<?php
function error($numero,$texto){
$ddf = fopen('error.log','a');
fwrite($ddf,"[".date("r")."] Error $numero:$texto\r\n");
fclose($ddf);
}
set_error_handler('error');
?>
E desta maneira finalizamos nosso script para gerar um
log de erros pessoais e de PHP.
Autoria e outras referências sobre este artigo
Manuais relacionados com este artigo
Através das categorias do nosso diretório podem ser encontrados outros tipos de recursos relacionados com este artigo: + Entrar em PHP + Entrar em Scripts em PHP
|
Entre os comentários não revistos podem ter alguns interessantes que tenham sido enviado recentemente.
|
Foi encontrado um comentário sem rever
|