Classe para gerar logs

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

[ Hits: 9.220 ]

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

Hora no formato Internet Beat

Agenda de contatos PHP

Fast Template CVS Revision 1.2.2

Radio online

Mostrar Status do ICQ na Web


  

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