Log para PHP, capturando erros no PHP, sem mostrar ao usuário

Rao!

Muitos programadores adoram utilizar o “@” (arroba) para as mensagem de erro na aplicação!

Só que fazendo isso, o programador terá muito trabalho para descobrir onde está ocorrendo o erro, e qual o erro!

Então ai vai mais um script utilitário que captura os erros levantados pelo php e loga as informações em arquivo “.txt” por exemplo!

Obs. Não utilizar arroba em nenhum lugar do sistema! pois o erro não vai ser exibido na tela e sim no arquivo de log!

—————-

<?php
/**
* Include que deve ser incluido no cabeçalho de cada arquivo php,
* Possui funções para tratar erros.
*
* @author Gregui Shigunov
* @since 01/08/2007
*/

/**
* Função executada a cada excessão levantada no PHP
*
* @param int $err_no
* @param String $err_desc
* @param String $err_file
* @param int $err_line
*/

function salvarErro($err_no, $err_desc, $err_file, $err_line) {


/*
1 E_ERROR
2 E_WARNING
4 E_PARSE
8 E_NOTICE
16 E_CORE_ERROR
32 E_CORE_WARNING
64 E_COMPILE_ERROR
128 E_COMPILE_WARNING
256 E_USER_ERROR
512 E_USER_WARNING
1024 E_USER_NOTICE
2047 E_ALL
2048 E_STRICT
*/

if ($err_no != 2048) {
logar($arquivo, “$t – $err_no: $err_desc, file:$err_file, linha $err_line \n“);
}
}

/**
* Loga as informações no arquivo txt
*
* @param String $strQuery
* @return Array com objetos de retorno da consulta
*/

function logar($strTexto) {
$t = date(“H:i:s”);

chmod (”log.txt“, 0777);
$arquivo = fopen(“log.txt”,“a”);
fwrite($arquivo, “$strTexto \n”);
fclose($arquivo);
}

// Tipos de erros que serão tratadas
error_reporting (E_ALL);

//informa qual o método que irá tratar as excessões levantadas pelo php
set_error_handler (”salvarErro”);

?>

5 Respostas para “Log para PHP, capturando erros no PHP, sem mostrar ao usuário”

  1. obao Disse:

    MUITO BAO!

  2. Andre Disse:

    você já deu uma testada nesse seu script??
    vc copiou isto de algum lugar ou fez essa carniça msm?
    desse jeito nao funciona ok!

  3. Gregui Disse:

    Não, não testei!
    Escrevi direto no editor!

    Não to aqui pra entregar nada pronto para otários como vc!
    Que apenas copiam o código sem ao menos analizar a lógica e entender o raciocínio! Mas acho que você é burro demais pra entender isso!

    Desiste dessa area bicho! não é pra vc! talvez vc se de bem fazendo “modas”!

  4. raphaeu Disse:

    Boa Gregui, esse cara é um merda mesmo… huaha

  5. Tenório Disse:

    Pois é cara, concordo que nosso amigo andré foi bem stupido tudo bem.. Mas agora você dizer algo de copiar o código de analizar a lógica e bla bla bla foi um erro dele eu sei lá, pode até ter sido erro dele nem tentar alterar o código mas bem no fim quem não entendeu a lógica foi você, visto que o código de fato não funciona consequentemente de nada vale a lógica se o objetivo não é cumprido.
    Enfim é o que eu acho!!!

Deixe um comentário