Classe para gerar logs

Publicado por Perfil removido (última atualização em 27/06/2011)

[ Hits: 9.379 ]

Download OXPLog.php




Classe que consiste em gerar logs persistentes em arquivos de texto.
O uso é simples:

<?php
require_once('OXPLog.php');
// Instancia o objeto, especificando o arquivo que receberá os dados
$oxpl = new OXPLog('log.txt');
// Gera
$oxpl->insertIntoLogFile('Acesso à página: ' . $_SERVER['REQUEST_URI']);
?>

  



Esconder código-fonte

<?php
/**
 * Description of OXPLog
 * -------------------------------------------------
 * @author Orlando Xavier <ox@orlandoxavier.com>
 * -------------------------------------------------
 * Classe para controle de gravação de logs
 */
class OXPLog {
    /*
     * Arquivo de logs
     */
    private $file;
    /**
     *
     * @param <string> $file Arquivo a ser criado e/ou usado
     */
    public function __construct($file) {
        // Deixa o arquivo oculto caso o sistema seja UNIX-like
        if (strtoupper(substr(PHP_OS, 0, 3)) != 'WIN') {
            $this->file = '.' . $file;
        } else {
            $this->file = $file;
        }
    }
    /*
     * Prepara o arquivo para gravação
     */
    public function fileCheckAndPrepare() {
        if (!file_exists($this->file)) {
            $f = fopen($this->file, 'w');
        } else {
            $f = fopen($this->file, 'a');
        }
        return $f;
    }
    /**
     *
     * @param <string> $event Evendo definido pelo programador
     * @return <bool> $r
     */
    public function insertIntoLogFile($event) {
        $f = $this->fileCheckAndPrepare();
        $logText = '(' . date('d/m/Y H:i:s') . ') ' .
                '[IP] ' . $_SERVER['REMOTE_ADDR'] .
                ' => [Evento] ' . $event . "\n";
        if (!fwrite($f, $logText)) {
            $r = false;
        } else {
            $r = true;
        }
        fclose($f);

        return $r;
    }
}
?>

Scripts recomendados

format_calc()

Script para noticias no formato rss

Calendário

Converte para maiúsculas a primeira letra de cada palavra

Exemplo de recursividade: gerador de sequências de tamanho e soma dos elementos fixos


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts