Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo5468

Logs

Recommended Posts

Eu gostaria de implantar logs em meu projeto, tudo que ele fazer ir gerando logs e logs... Porem não consigo encontrar nenhum material na internet que ensina/explica a fazer isso? Alguém pode me ajudar?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Beraldo o seu artigo é bastante explicativo, porem eu tenho algumas dúvidas.

function logMsg( $msg, $level = 'info', $file = 'main.log' )
{
    // variável que vai armazenar o nível do log (INFO, WARNING ou ERROR)
    $levelStr = '';
 
    // verifica o nível do log
    switch ( $level )
    {
        case 'info':
            // nível de informação
            $levelStr = 'INFO';
            break;
 
        case 'warning':
            // nível de aviso
            $levelStr = 'WARNING';
            break;
 
        case 'error':
            // nível de erro
            $levelStr = 'ERROR';
            break;
    }
 
    // data atual
    $date = date( 'Y-m-d H:i:s' );
 
    // formata a mensagem do log
    // 1o: data atual
    // 2o: nível da mensagem (INFO, WARNING ou ERROR)
    // 3o: a mensagem propriamente dita
    // 4o: uma quebra de linha
    $msg = sprintf( "[%s] [%s]: %s%s", $date, $levelStr, $msg, PHP_EOL );
 
    // escreve o log no arquivo
    // é necessário usar FILE_APPEND para que a mensagem seja escrita no final do arquivo, preservando o conteúdo antigo do arquivo
    file_put_contents( $file, $msg, FILE_APPEND );
}

Deverei criar um novo arquivo chamado main.log até aí eu entendi. Porem eu quero salvar: IP, usuário, data, hora, e o que ele tentou executar.

 

Como posso fazer isso utilizando o seu código?

Ah-. e como coloco para funcionar? Eu não entendi.

logMsg( "Executando a tarefa X..." );

Este é o log de "Informação" porem onde eu coloco para gerar o log?

 

 

E obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deverei criar um novo arquivo chamado main.log até aí eu entendi.

Não precisa.

file_put_contents criará o arquivo, caso ele não exista

 

 

Porem eu quero salvar: IP, usuário, data, hora, e o que ele tentou executar.

Para pegar o IP, use $_SERVER['REMOTE_ADDR']

Para pegar o usuário, verifique na session ou cookie, conforme seu sistema de autenticação.

Data e hora já estão lá

O que ele executou é a mensagem que você digita ao chamar a função.

 

 

 

Ah-. e como coloco para funcionar? Eu não entendi.

logMsg( "Executando a tarefa X..." );
Este é o log de "Informação" porem onde eu coloco para gerar o log?

 

Você chama essa função onde e quando quiser que um log seja gerado

Por exemplo, logo após autenticar o usuário, pode chamar assim:

 

logMsg( 'Usuário ' . $user->email . ' autenticado' )

onde $user é um objeto que representa o usuário

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.